初识Dockerfile与实现容器间的数据同步

初识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文件还在
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43520670/article/details/113619713