微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据卷之Dockerfile自己生成镜像挂载

 

之前说过挂载的方式有匿名挂载,具名挂载,还有指定生成路径挂载。

现在我们可以通过生成一个镜像直接挂载!

 

dockerfile就是用来构建docker镜像的构建文件!实质就是命令脚本

(通过这个脚本就可以生成镜像,镜像是一层一层的,脚本是一个一个的命令,每个命令就是一层)

 

1,创建一个docker_volume_test文件,在文件里面创建dockerfile1,用来编写脚本

[root@CentOs home]# mkdir docker_volume_test
[root@CentOs home]# ls
docker_volume_test  MysqL  slime  Slime  test
[root@CentOs home]# cd docker_volume_test/
[root@CentOs docker_volume_test]# vim dockerfile1

2,脚本内容

脚本内容包括指令(都是大写)和参数

 

FROM centos

VOLUME ["volume01","volume02"]

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

这里的每个命令都是一层

 

3,生成镜像

[root@CentOs docker_volume_test]# docker build -f /home/docker_volume_test/dockerfile1 -t wz/centos:1.0 .(后面这个.不能忘!)
Sending build context to Docker daemon  2.048kB
Step 1/4 : FROM centos
 ---> 5d0da3dc9764
Step 2/4 : VOLUME ["volume01","volume02"]
 ---> Running in 12c98d5bb89c
Removing intermediate container 12c98d5bb89c
 ---> ad30bed96ee8
Step 3/4 : CMD echo "----end----"
 ---> Running in cbaf40de84ca
Removing intermediate container cbaf40de84ca
 ---> 49e0c1d341cf
Step 4/4 : CMD /bin/bash
 ---> Running in ff806d438310
Removing intermediate container ff806d438310
 ---> d9694ac32268
Successfully built d9694ac32268
Successfully tagged wz/centos:1.0
[root@CentOs docker_volume_test]#

 

4,进入我们自己生成的镜像

 

 

 

 

 

这个卷和外部一定有一个同步的目录!

 

5,查看一下卷挂载的路径

docker inspect 容器id

 

 

 

 

 

6,测试一下刚才的文件是否同步出去

 

 

 

 

 

 

这种方式我们未来会使用的十分多,因为我们通常会构建自己的镜像!

假设构建镜像的时候没有挂载卷,要手动镜像挂载 -v 卷名:容器内路径

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐