容器的生命周期
1. 检查本地是否存在镜像,如果不存在即从远端仓库检索
2. 利用镜像启动容器
3. 分配一个文件系统,并在只读的镜像层外挂载一层可读写层
4. 从宿主机配置的网桥接口中桥接一个虚拟接口到容器
5. 从地址池配置一个IP地址给容器
6. 执行用户指定的命令
7. 执行完毕后容器终止
dockerfile的书写格式
指令(大写) 内容(小写)
尽管指令是大小写不敏感的,但是,我们强烈建议指令用大写,内荣用小写表示
dockerfile的规则
docker是按顺序执行dockerfile里的指令集合的(从上到下依次执行)
每个dockerfile的第一个非注释行指令,必须是“FROM”指令,用于为镜像文件构建过程中,指定基础镜像的
后续的指令运行于此基础镜像所提供的环境中
实践中,基础镜像可以是任何也用镜像文件,默认情况下,docker build会在docker主机(本地)上查找指定的镜像文件,当其在本地比存在时,则会从docker registry(远端)上拉取所需镜像文件
dockerfile核心指令
USER/WORKDIR指令
ADD/EXPOSE指令
RUN/ENV指令
CMD/ENTRYPOIN指令