Dockerfile(5) - CMD 指令详解

CMD

指定容器默认执行的命令

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

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

# shell
CMD 命令 param1 param2
 

重点

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

exec 模式下使用环境变量

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

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

RUN 和 CMD

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

相关推荐
向阳而生自媒体2 小时前
2026年MBA面试自我介绍怎么说?3分钟/5分钟版本怎么准备?
面试·职场和发展
小南知更鸟2 小时前
【leetcodehot100】leetcode-hot100-20260809更新
算法·leetcode·职场和发展
.道阻且长.5 小时前
1.LeetCode算法习题讲解--双指针--移动零
算法·leetcode·职场和发展
是小艺吗。16 小时前
第三方机构出具的软件功能测试报告的作用与流程说明,中承信安专业讲解
功能测试·单元测试·软件测试报告·软件功能测试·软件测评
天才测试猿17 小时前
软件测试知识总结(基础篇)
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
Hi李耶1 天前
【LeetCode】557.反转字符串中的单词 III
算法·leetcode·职场和发展
可爱系程序猿1 天前
msvcp140_codecvt_ids.dll 缺失的排查记录:C++ 程序启动异常时如何核对运行库版本
开发语言·c++·程序人生·电脑
Anhty1 天前
手机端叮咚变声器2026实测:功能表现、优缺点完整解析
功能测试·ios·智能手机·安卓
天天爱吃肉82181 天前
行业笔记|高压连接器瞬态接触退化通用检测方法论
人工智能·笔记·python·功能测试·学习·汽车