核心思想
将docker内的目录同步到宿主机的磁盘上,实现容器的持久化和同步。同时,容器间的数据也可实现共享。
使用命令挂载
命令
docker run -it -v 主机目录:容器目录
(1)目录挂载
[root@192 docker]# docker run -it -v /home/docker/:/home/ centos /bin/bash [root@e88f53b8c22c /]# ls bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp us
(2)查看是否挂载成功
[root@192 docker]# docker ps ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e88f53b8c22c centos "/bin/bash" about a minute ago Up about a minute distracted_poitras [root@192 docker]# docker inspect e88f53b8c22c
在打印日志中查看是否有如下内容:
"Mounts": [
{
"Type": "bind",
"Source": "/home/docker", -----------宿主机目录
"Destination": "/home", -----------容器目录
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
(3)测试文件同步
(4)容器退出,修改宿主机文件,重新启动容器,文件会同步
(5)删除容器,重新挂载相同目录,文件依然存在
[root@192 docker]# docker rm -f $(docker ps -aq) e88f53b8c22c [root@192 docker]# [root@192 docker]# docker run -it -v /home/docker/:/home/ centos /bin/bash [root@d10087642fd0 /]# cd /home/ [root@d10087642fd0 home]# ls test.cpp [root@d10087642fd0 home]# cat test.cpp hello docker! [root@d10087642fd0 home]#



