Dockerfile 就是用来构建docker镜像的构建文件!脚本命令!

通过这个脚本可以生成镜像,镜像是一层一层的,脚本是一个个的命令,
每个命令都是一层!

  1. # 示例
  2. # 步骤一
  3. vim dockerfile1
  4. #步骤二 编写dockerfile
  5. FROM centos
  6. VOLUME ["volume01","volume02"] //匿名挂载
  7. CMD echo "-----end-----"
  8. CMD /bin/bash
  9. #步骤三 构建容器
  10. [root@s4801841 test]# docker build -f ./dockerfile1 -t sjtest:1.0 .

数据卷容器

多个mysql同步数据
QQ截图20201125202322.png

  1. # 示例
  2. #先启动一个父容器
  3. [root@s4801841 test]# docker images
  4. REPOSITORY TAG IMAGE ID CREATED SIZE
  5. sjtest 1.0 3f74f6a0e371 12 minutes ago 215MB
  6. python 1.1 c1f80263be11 About an hour ago 916MB
  7. docker run -it --name docker01 sjtest:1.0 /bin/bash //这个因为是自己通过dockerfile构建的镜像所以一定要加版本tag
  8. #再建一个子容器
  9. docker run -it --name docker02 --volumes-from docker01 sjtest:1.0
  10. 这样就做到了数据同步,docker01中的 volume01volume02 都能被docker02共用相互影响

如果docker01被删除只要其中继承的容器还有一个容器还在用就不会被删除数据卷

结论:

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