Dockerfile(5) - CMD 指令详解

CMD

指定容器默认执行的命令

#  exec 形式,推荐
CMD ["executable","param1","param2"]
CMD ["可执行命令", "参数1", "参数2"...]

# 作为ENTRYPOINT的默认参数
CMD ["param1","param2"]

# shell
CMD 命令 param1 param2
 

重点

  • 一个 Dockerfile 只有一个 CMD 指令,若有多个,只有最后一个 CMD 指令生效
  • CMD 主要目的:为容器提供默认执行的命令,这个默认值可以包含可执行文件
  • 也可以不包含可执行文件,意味着必须指定 ENTRYPOINT 指令(第二种写法)

exec 模式下使用环境变量

# 错误写法,不会使用 HOME 环境变量
CMD [ "echo", "$HOME" ]

# 正确写法,需要将 echo 和使用环境变量放一起
CMD [ "sh", "-c", "echo $HOME" ]

RUN 和 CMD

  • RUN 可以在构建阶段运行很多个命令,而且每运行一个命令都会单独提交结果
  • CMD 在构建阶段不执行任何操作,而是指定镜像默认执行的命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值