一、问题
二、解决方案
在运行docker run命令的时候,可以设置 -v选项将宿主机的卷挂载到容器中。比如你想把宿主机/home/304/WorkSpace/docker/ubuntu目录下的文件与容器共享,可以执行:
$ docker run -it -v "$PWD":/ubuntu ubuntu /bin/bashroot@ef765cc05cc5:/# touch /ubuntu/orangeroot@ef765cc05cc5:/# eixt$ lsorange
在容器启动以后我们创建了orange这个文件,在容器里面我们可以对他进行读写操作,当我在退出容器以后看到被挂载的宿主机卷里面有一样的orange。
docker默认情况下会以读写模式挂载数据卷。如果想以只读方式挂载数据卷,可以在卷名称后通过冒号设置相应的权限。比如上面的例子,如果我只想以只读的方式将工作卷挂载到 容器的 /ubuntu可以使用 -v “$PWD”:/ubuntu:ro。
当我们忘记宿主机的数据卷被挂载到容器什么位置以后,可以通过inspect命令查看数据卷的映射情况如下
# docker inspect -f {{.Mounts}} ef765cc05cc5[{bind /home/304/WorkSpace/docker/ubuntu /ubuntu true rprivate}]
三、参考
管理容器内的数据(https://docs.docker.com/userguide/dockervolumes)
了解卷(http://container-solutions.com/2014/12/understanding-volumes-docker/)
