我试图更深入地了解 Docker 的体积,但我很难找出以下方面的差异/用例:
- The
docker volume create
command
- The
docker run -v /path:/host_path
- The
VOLUME
条目在Dockerfile
file
我特别不明白如果你结合起来会发生什么VOLUME
条目与-v
flag.
卷是存储在的持久数据/var/lib/docker/volumes/...
您可以在 Dockerfile 中声明它,这意味着每次从映像启动容器时,都会创建卷(empty),即使你没有-v
option.
您可以在运行时声明它docker run -v [host-dir:]container-dir https://docs.docker.com/engine/reference/run/#volume-shared-filesystems.
将两者结合起来(VOLUME
+ docker run -v
) 意味着您可以将主机文件夹的内容挂载到容器保存的卷中/var/lib/docker/volumes/...
docker 卷创建 https://docs.docker.com/engine/reference/commandline/volume_create/创建卷而无需定义 Dockerfile、构建映像并运行容器。它用于快速允许其他容器安装该卷。
如果您已将某些内容保留在卷中,但此后删除了该容器(默认情况下不会删除其关联的卷,除非您使用 docker rm -v),您可以将所述卷重新附加到新容器(声明相同的体积)。
See "Docker - 如何访问未附加到容器的卷? https://stackoverflow.com/a/34775351/6309".
使用 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!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)