数据卷之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 卷名:容器内路径

 

posted @ 2022-03-20 13:24  屯子里唯一的架构师  阅读(445)  评论(0编辑  收藏  举报