法1、自动将服务器文件夹挂载到容器内部文件夹/usr/share/nginx/html,这样只修改服务器文件夹下的内容即可对应修改容器内部文件夹的内容
将服务器某文件夹挂载到容器内部 /usr/share/nginx/html 下:
docker run --name docker-nginx-volume -p 8082:80 -d -v /usr/share/nginx/html nginx
查看挂载成功的服务器文件夹地址:docker inspect docker-nginx-volume
法2、指定将服务器文件夹/usr/local/java/docker/volume挂载到容器内部文件夹/usr/share/nginx/html,这样只修改服务器文件夹下的内容即可对应修改容器内部文件夹的内容,同时运行容器:
docker run -d --name docker-nginx-volume-path -p 8083:80 -v $PWD/volume:/usr/share/nginx/html nginx
图中pwd为执行命令,当前所在目录为/usr/local/java/docker/,则$PWD/volume代表/usr/local/java/docker/volume,这样只修改/usr/local/java/docker/volume下的文件即可对应修改容器内部/usr/share/nginx/html下的文件
法3、先创建数据容器,再启动数据容器
(1)当前目录为/usr/local/java/docker/volume2,创建一个名为docker_container_ubuntu的数据容器,容器内镜像为ubuntu,并将当前目录下的data文件夹挂载到容器的/var/mydata:
docker create -v $PWD/data:/var/mydata --name docker_container_ubuntu ubuntu
(2)以可交互的形式运行容器docker_container_ubuntu
docker run -it --volumes-from docker_container_ubuntu ubuntu /bin/bash
(3)进入容器的/var/mydata/目录并创建1.txt,再退出:
cd /var/mydata/
mkdir 1.txt
exit
(4)到本地/usr/local/java/docker/volume2/data目录会看到1.txt文件
实际上数据容器docker_container_ubuntu可以被多个容器挂载,做到多容器间的数据共享
docker容器的持久化存储:Volume
原文:https://www.cnblogs.com/afei1759/p/14460049.html