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

 

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...