dockerfile
什么是dockerfile?
Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
准备知识:
- Dockerfile整体就两类语句组成:
- # Comment 注释信息
- Instruction arguments 指令 参数,一行一个指令。
-
=Dockerfile文件名首字母必须大写。
-
Dockerfile指令不区分大小写,但是为方便和参数做区分,通常指令使用大写字母。
-
Dockerfile中指令按顺序从上至下依次执行。
-
Dockerfile中第一个非注释行必须是FROM指令,用来指定制作当前镜像依据的是哪个基础镜像。
-
Dockerfile中需要调用的文件必须跟Dockerfile文件在同一目录下,或者在其子目录下,父目录或者其它路径无效。
dockerfile 镜像构建的流程
借鉴: Docker Dockerfile | 菜鸟教程 (runoob.com)
Dockerfile指令说明简洁版:
- FROM 构建镜像基于哪个镜像
- MAINTAINER 镜像维护者姓名或邮箱地址
- RUN 构建镜像时运行的指令
- CMD 运行容器时执行的shell环境
- VOLUME 指定容器挂载点到宿主机自动生成的目录或其他容器
- USER 为RUN、CMD、和 ENTRYPOINT 执行命令指定运行用户
- WORKDIR 为 RUN、CMD、ENTRYPOINT、COPY 和 ADD 设置工作目录,就是切换目录
- HEALTHCHECH 健康检查
- ARG 构建时指定的一些参数
- EXPOSE 声明容器的服务端口(仅仅是声明)
- ENV 设置容器环境变量
- ADD 拷贝文件或目录到容器中,如果是URL或压缩包便会自动下载或自动解压
- COPY 拷贝文件或目录到容器中,跟ADD类似,但不具备自动下载或解压的功能
- ENTRYPOINT 运行容器时执行的shell命令
PS: Dockerfile 文档中, Json数据使用双引号
dockerfile 编写规范
借鉴: https://www.cnblogs.com/549294286/p/11044901.html