暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Docker---数据卷Volume的简单使用(使用DockerFile实现)

366

Docker---数据卷Volume的简单使用(使用DockerFile实现)  

https://blog.csdn.net/geek_xiong/article/details/91995051


DockerFile是什么?

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。它们简化了从头到尾的流程并极大的简化了部署工作。Dockerfile从FROM命令开始,紧接着跟随者各种方法,命令和参数。其产出为一个新的可以用于创建容器的镜像。

实例:

提前转备好一个简单的DockerFile内容

    #volume test
    FROM centos
    VOLUME ["/dataVolumeContainer1", “/dataVolumeContainer2”]
    CMD echo “fineshed…seccuess!”
    CMD bin/bash


    在宿主机的根目录下创建一个一个docker目录,存放dockerfile文件

      mkdir mydocker
      cd mydocker

      将上边写入DockerFile文件中

      build

        别忘了最后的点(名称是为新的镜像起一个名字)
        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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

        评论