Docker---数据卷Volume的简单使用(使用DockerFile实现)
https://blog.csdn.net/geek_xiong/article/details/91995051
DockerFile是什么?
Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随者各种方法,命令和参数。其产出为一个新的可以用于创建容器的镜像。

实例:
提前转备好一个简单的DockerFile内容
#volume testFROM centosVOLUME ["/dataVolumeContainer1", “/dataVolumeContainer2”]CMD echo “fineshed…seccuess!”CMD bin/bash
在宿主机的根目录下创建一个一个docker目录,存放dockerfile文件
mkdir mydockercd mydocker
将上边写入DockerFile文件中

别忘了最后的点(名称是为新的镜像起一个名字)docker build -f DockerFile路径 -t 名称 .docker builld -f mydocker/DockerFile -t leyton/centos ..

由上图可知创建了一个新的镜像名叫leyton/centos,当我们运行这个镜像时,就会调用两个数据卷
docker run -it leyton/centos

那么能不能实现数据共享呢?
在数据卷容器中创建一个文件,看宿主机上是否同步

我们怎么在宿主机上找到共享的位置呢?可以利用inspect查看一下:


我们进入到这个目录中,看一下有没有创建的文件

个人总结:
Dockerfile中定义的VOLUME 是匿名数据卷,容器启动的时候会自动在宿主机上创建映射目录或者文件。
如果容器被删除重新创建,则会重新在宿主机上创建一个匿名数据卷。即使容器重启被删掉,匿名数据卷也不会删除。所以这个时候就出现了产生了未使用的容器卷,需要定期清理。


文章转载自跟着阿笨一起玩NET,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




