初识DockerFile

dockerfile就是用来构建镜像的构建文件,命令脚本。通过这个脚本可以生成镜像,镜像是一层一层的,脚本一个个命令,每一个命令就是一层。Dockerfile里用上一篇的容器卷技术,生成一个镜像 !

#通过一个dockerfile文件,名字可以随机,建议用dockerfile
#文件中的内容 指令(大写)  参数 

FROM    centos

VOLUME  ["volume01","volume02"]

CMD     echo "----end----"

CMD     /bin/bash

image.png
启动自己制作的镜像
image.png
这两个目录就是刚才生成的两个目录
这个卷和外部一定有一个同步的目录!
查看一下挂载目录
image.png
测试一下,在容器里创建文件是否同步到宿主机
image.png
文件在这个目录下
image.png
这种方式使用的会很多,因为会通常构建自己的镜像
假设构建镜像时候没有挂载卷,要手动镜像挂载,-v卷名:容器内部路径

数据卷容器

多个mysql同步数据
image.png
打开第一个容器
image.png
打开第二个容器,同时只想docker01
image.png
进入docker01,在volume01下创建一个test.txt文件
image.png
进入docker02,查看是否同步
image.png
image.png

多个MySQL数据共享

[root@localhost home]# docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
。
[root@localhost home]# docker run -d -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 --volumes-from mysql01  mysql:5.7
#这样可以实现两个容器数据同步

.

总结

容器之间配置信息传递,数据卷容器的生命周期一直持续到没有容器使用为止。
但是一旦数据持久化到本地,本地数据是不会删除的。