Dockerfile 是一个文本格式的配置文件,可以使用dockerfile来快速穿件已定义的镜像。
Dokerfile 主体内容分为四部分:
1 : 基础镜像信息
2 :维护者信息
3 :镜像操作指令
4 :容器运行时执行指令
指令说明:
1:配置指令
FROM:指定所创建镜像的基础镜像。必须为第一条指令
ARG:定义创建镜像过程中使用的变量。镜像编译成功后,ARG指定的变量将不再存在。
ENV:指定环境变量
什么时候用ARG,什么时候用ENV?
如果想保存为环境变量,就用ENV;如果只想在Dockerfile中临时使用,就用ARG。
LABEL:为生成的镜像添加元数据标签信息
EXPOSE:声明镜像内服务监听的端口
ENTRYPOINT:
指定镜像的默认入口命令。
该入口命令会在启动容器时作为根命令执行,所有传入值作为该命令的参数。
只能有一条ENTRYPOINT命令
VOLUME: 创建一个数据卷挂载点
USER:指定运行容器时的用户名和UID。后续的RUN指令也会使用指定的用户身份
WORKDIR:配置工作目录,为后续的RUN,CMD,ENTRYPOINT指令配置工作目录
ONBULD:创建子镜像时指定自动执行的操作传指令
STOPSIGNAL:指定退出的信号值
HEALTHCHECK:配置启动容器如何进行监控检查
SHELL:指定默认shell类型
2: 操作指令
RUN:构建镜像时运行指定命令
CMD:启动容器时指定默认执行的命令,
如果用户启动容器时候手动指定了运行的命令(作为run命令的参数),
则会覆盖掉CMD指定的命令。只能有一条CMD命令
ADD:添加内容到镜像。若是tar文件,可自动解压为目录
COPY:复制内容到镜像。