通过docker run命令的-v标识创建的挂载点只能对创建的容器有效。
通过dockerfile的 VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点。
还有一个区别是,通过 VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的。
#test FROM ubuntu MAINTAINER hello1 VOLUME ["/data1","/data2"]
上面的dockfile文件通过VOLUME指令指定了两个挂载点 /data1 和 /data2.
我们通过docker inspect 查看通过该dockerfile创建的镜像生成的容器,可以看到如下信息
"Mounts": [
{
"Name": "d411f6b8f17f4418629d4e5a1ab69679dee369b39e13bb68bed77aa4a0d12d21",
"Source": "/var/lib/docker/volumes/d411f6b8f17f4418629d4e5a1ab69679dee369b39e13bb68bed77aa4a0d12d21/_data",
"Destination": "/data1",
"Driver": &#
本文介绍了Dockerfile中的VOLUME指令,它用于在镜像中创建挂载点,使得所有基于该镜像的容器都能访问。与docker run命令的-v不同,VOLUME创建的挂载点不指定主机目录,而是自动生成。通过示例展示了如何通过--volumes-from标志实现容器间的卷共享,提出数据容器作为最佳实践来管理和共享数据。
订阅专栏 解锁全文
2334

被折叠的 条评论
为什么被折叠?



