指定容器默认执行的命令
CMD
指定容器默认执行的命令
1 | # exec 形式,推荐 |
重点
- 一个 Dockerfile 只有一个 CMD 指令,若有多个,只有最后一个 CMD 指令生效
- CMD 主要目的:为容器提供默认执行的命令,这个默认值可以包含可执行文件
- 也可以不包含可执行文件,意味着必须指定 ENTRYPOINT 指令(第二种写法)
exec 模式下使用环境变量
1 | # 错误写法,不会使用 HOME 环境变量 |
RUN 和 CMD
- RUN 可以在构建阶段运行很多个命令,而且每运行一个命令都会单独提交结果
- CMD 在构建阶段不执行任何操作,而是指定镜像默认执行的命令