CentOS7.6 Docker 操作(四) —— Dockerfile
是什么
是用来构建docker镜像的构建文件,是由一系列命令和参数构成的脚本。
构建三步骤
- 手动编写一个dockerfile文件
- docker build命令执行,获得一个镜像
- run
解析过程
内容知识
- 每条保留字指令都必须为大学字母且后面要至少跟随一个命令
- 指令从上至下执行
- #表示注释
- 每条指令都会创建一个新的镜像层,并对镜像进行提交
执行过程
- docker 从基础镜像运行一个容器
- 执行一条指令并对容器做出修改
- 执行类似docker commit的操作提交一个新的镜像层
- docker再基于刚提交的镜像运行一个容器
- 执行dockerfile中的下一条指令直到所有指令都执行成功
保留指令
FROM #基础镜像
MAINTAINER #镜像作者和邮箱
RUN #容器构建时需要运行的命令
EXPOSE #当前容器对外暴露出的端口
WORKDIR #指定在创建容器后,终端默认登陆的进来工作目录
ENV #设置环境变量
ADD #将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
COPY #拷贝文件和目录到镜像中
VOLUME #容器数据卷
CMD #指定一个容器运行时要运行的命令 可以有多个 只有最后一个生效 CMD 会被docker后面的参数替换掉
ENTRYPOINT #指定一个容器运行时要运行的命令 ENTRYPOINT会被docker后面的参数 追加
ONBUILD # 当构建子镜像时 父镜像会被触发