我试图加深对Docker容量的理解,并且很难找出以下差异/用例:
docker volume create
命令docker run -v /path:/host_path
VOLUME
文件Dockerfile
条目我特别不理解如果将
VOLUME
条目与-v
标志结合使用会发生什么。 最佳答案
卷是存储在/var/lib/docker/volumes/...
中的持久数据
-v
选项,也会创建该卷(空)。 docker run -v [host-dir:]container-dir
上声明它。结合两者(
VOLUME
+ docker run -v
)意味着您可以将主机文件夹的内容挂载到/var/lib/docker/volumes/...
如果您已在卷中保留了一些内容,但此后删除了该容器(除非使用docker rm -v,否则默认情况下不会删除其关联的卷),则可以将所述卷重新附加到新容器(声明相同的音量)。
参见“Docker - How to access a volume not attached to a container?”。
使用docker volume create,可以轻松地将命名卷重新附加到容器。
docker volume create --name aname
docker run -v aname:/apath --name acontainer
...
# modify data in /apath
...
docker rm acontainer
# let's mount aname volume again
docker run -v aname:/apath --name acontainer
ls /apath
# you find your data back!
关于docker - Dockerfile中VOLUME的作用是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34809646/