dockerfile是用来构建docker镜像的文件
1.编写dockerfile文件
2.docker build构建成为一个镜像
3.docker run运行镜像
4.docker push发布镜像(阿里云镜像仓库,dockerhub)
#创建一个dockerfile文件
FROM centos

VOLUME ["volume01","volume02"]

CMD echo "----end----"
CMD /bin/bash

#生成自定义镜像

docker build -f /home/dockerfile/dockerfile_01 -t zy/centos:1.0 .

#启动自定义容器

docker run -it XXXX /bin/bash

docker inspect检查生成的容器
可以观察到生成的容器Mounts属性

"Mounts": [
            {
                "Type": "volume",
                "Name": "6e42e05edcd1c255e2a8078578f7c37d047d6a4c6225bd067124f2c18ec5eb78",
                "Source": "/var/lib/docker/volumes/6e42e05edcd1c255e2a8078578f7c37d047d6a4c6225bd067124f2c18ec5eb78/_data",
                "Destination": "/volume01",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "8fa3ed9a6a4740c1afcfe9cc6a7681e99f33911d1aaf8f6320cd295445d42815",
                "Source": "/var/lib/docker/volumes/8fa3ed9a6a4740c1afcfe9cc6a7681e99f33911d1aaf8f6320cd295445d42815/_data",
                "Destination": "/volume02",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ]

 

 

容器间使用数据卷共享

#先创建容器df01
docker run -it --name df01 1a1a3585a6da

#创建容器df02,并指定使用的容器卷来自df01
docker run -it --name df02 --volumes-from df01 zy/centos:1.0

#这样在df01数据卷目录volume01,volume02下创建的文件会同步到df02容器中,达到容器间数据共享

 注意:即使删除df01容器,volume01,volume02容器卷依然存在。

 

#编写dockerfile文件
FROM centos
CMD ["ls","-a"]

#构建镜像 -t: 镜像名字及标签 通常为name:tag 或 name格式
docker build -f dockerfile-cmd-test -t  cmdtest .

#run运行
docker run [IMAGEID]
 

 

 

 

结论:

1.利用容器卷性质,可以用于容器之间配置信息的传递。 

2.数据卷生命周期从被创建开始,直至没有容器使用为止。