CMD 与 RUN 的区别在于:RUN 是在 build 成镜像时运行的,先于 CMD 和 ENTRYPOINT,且只在创建镜像时执行一次;CMD 则会在每次启动容器的时候运行。下面整理了 Dockerfile 中的常用指令,方便编写时快速查阅。
Dockerfile 指令速查表
| 指令 | 说明 |
|---|---|
FROM |
指定基础镜像 |
MAINTAINER |
设置维护者信息 |
RUN |
执行构建命令 |
ENV |
设置镜像环境变量 |
COPY |
复制文件 |
ADD |
添加文件 |
EXPOSE |
指定暴露端口,如 EXPOSE <端口> |
CMD |
设置镜像启动命令 |
ENTRYPOINT |
设置接入点(固定的命令工具),如 ENTRYPOINT ["echo"] |
VOLUME |
设置数据卷 |
USER |
设置构建用户 |
WORKDIR |
设置工作目录 |
ONBUILD |
设置二次构建指令 |
LABEL |
设置元数据 |
ARG |
设置构建变量 |
STOPSIGNAL |
设置停止信号 |
HEALTHCHECK |
检查镜像状态(健康检查) |
SHELL |
设置命令执行环境 |