dockerfile是什么?
dockerfile就是用来构建docker镜像的构建文件!命令脚本!
通过这个脚本可以生成镜像,镜像是一层一层的,脚本一个个的命令,每个命令都是一层
# 创建一个dockerfile文件
# 文件中的内容 指令(大写) 参数
FROM centos:7
VOLUME ["volume01","volume02"]
CMD echo "---end---"
CMD /bin/bash
# 这里的每个命令,就是镜像的一层
docker build -f d:\log\dockerfiletest -t gao/centos:1.0 .
匿名挂载:-v 的时候,只写了容器内路径,没有写主机上的路径
具名挂载:就是正常的2个路径全部写了,用" : "分割
这种方式我们未来使用的十分多,因为我们通常会构建自己的镜像。
假设构建镜像时没有挂载卷,要手动镜像挂载 -v 卷名:容器内路径!
数据卷容器
多个mysql同步数据、数据同享
--volums-from 需要挂载的容器
相当于: son extend father
测试:
#启动3个容器
PS D:\log> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d44754395998 gao/centos:1.0 "/bin/sh -c /bin/bash" 4 minutes ago Up 4 minutes centos02
e212f3e05569 gao/centos:1.0 "/bin/bash" 11 minutes ago Up 11 minutes centos01
PS D:\log> docker run -it --name centos03 --volumes-from centos01 gao/centos:1.0
上面3个容器的数据就相互同步了。
停止或删除其中的容器,数据也还在,数据就很安全了(备份)
注意:其中停止的容器,再启动后还会同步其他容器的数据,非常的方便了。
结论:
容器之间配置信息的传递(集群的配置),容器卷容器的生命周期一直持续到没有容器使用为止。
但是一旦你持久化到了本地,这个时候,本地的数据是不会删除的!