初识Dockerfile与实现容器间的数据同步
1、初识Dockerfile
Dockerfile简单来说就是用来构建docker镜像的构建文件,命令脚本。通过这个脚本可以生成镜像,镜像是一层一层的,脚本一个个的命令,每个命令都是一层。
一个简单的dockerfile文件
# 创建一个dockerfile文件,名字可以随机 建议Dockerfile
# 文件中的内容 指令(大写) 参数
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "---------end---------"
CMD /bin/bash
# 这里的每一个命令就是镜像的一层
运行自己的镜像:
docker run -it 镜像id /bin/bash
截图:
可以看到有 volume01 和 volume02 这是两个数据卷,主机一定有它对应的挂载目录。
我们可以查看容器的详细信息,就可以找到相关目录
docker inspect 容器id
截图:
2、实现容器间的数据同步
实现容器间的数据同步比较简单,只需要先运行一个容器(有挂载文件夹),然后另一个容器加上一个--volumes-from 刚刚运行的容器名
就拿上面的镜像举个例子:
首先运行docker01
docker run -it --name docker01 ybg/centos:1.0
截图:
然后运行docker02
docker run -it --name docker02 --volumes-from docker01 ybg/centos:1.0
截图:
然后,我们在docker02的volume01下新建一个文件夹test
查看docker01的volume01文件夹有没有同步
可以看到,两个文件夹是同步的。
对于共享数据的容器,删除任何一个,其他容器的数据不会删除
举个例子:
在刚刚的基础上,我们删除docker01
查看docker02的volume01文件夹,test文件还在