Dockerfile中VOLUME的作用是什么
我想加深对Docker容量的了解,并且很难弄清以下内容的差异/用例:
- 该
docker volume create
命令 - 的
docker run -v /path:/host_path
- 文件中的
VOLUME
条目Dockerfile
我特别不明白如果将VOLUME
条目与-v
标志结合在一起会发生什么。
回答:
卷是存储在 /var/lib/docker/volumes/...
您可以在Dockerfile中声明它,这意味着每次从映像启动容器时,即使没有任何选择,也会创建该卷( 空 )
-v
。您可以在运行时声明它
docker run -v [host-dir:]container-dir
。结合使用两个(
VOLUME
+docker run
-v)意味着您可以将主机文件夹的内容挂载到容器中保留的卷中
/var/lib/docker/volumes/...
docker volume create无需定义Dockerfile,构建映像和运行容器即可创建卷。它用于快速允许其他容器安装该体积。
如果您已在卷中保留了某些内容,但是此后删除了该容器(除非使用docker rm
-v,否则默认情况下不会删除其关联的卷),则可以将所述卷重新附加到新容器(声明相同的音量)。
请参阅“ Docker-如何访问未连接到容器的卷?”。使用docker volume create,可以轻松地将命名卷重新附加到容器。
docker volume create --name anamedocker 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!
以上是 Dockerfile中VOLUME的作用是什么 的全部内容, 来源链接: utcz.com/qa/425501.html