惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
人人都是产品经理
人人都是产品经理
小众软件
小众软件
博客园 - Franky
WordPress大学
WordPress大学
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
F
Fortinet All Blogs
博客园 - 【当耐特】
IT之家
IT之家
G
Google Developers Blog
J
Java Code Geeks
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
云风的 BLOG
云风的 BLOG
Recent Announcements
Recent Announcements
有赞技术团队
有赞技术团队
V
Visual Studio Blog
U
Unit 42
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
GbyAI
GbyAI
雷峰网
雷峰网

lvbibir's Blog

shell | 磁盘空间分析脚本 Linux cat 和 tee 命令写入文件 python | 使用 uv 管理你的 python 环境 Claude Code 完整配置指南 windows | mihomo 内核独立部署指南 linux | 磁盘扩容 wsl | 释放长久运行占用的磁盘空间 mysql | 线程上限问题处理 麒麟 7.6 安装谷歌 OTP 认证模块 suse 12sp5 升级 openssh 及 openssl suse 12sp5 部署 mysql 5.7 《谁的青春不迷茫》 docker | centos7 部署 docker vim | 基础配置和使用 windows | rime 输入法 & 雾凇方案 shell | sshpass 批量传输文件及执行命令 wsl | 原生 linux 方式安装 docker nodejs | fnm + pnpm 开发环境配置 wsl | 安装配置 miniconda 虚拟环境 wsl | 自动更新系统代理 wsl | bashrc 环境变量不正确加载的处理方法 wsl | win10 安装 wsl2 troubleshooting | ssh 成功但是 scp 失败 linux | 常用命令总结 docker 部署 piclist shell | 检测网站存活并自动钉钉告警 Zabbix | 监控端口连通性并自动追踪 TCP 路由 windows | 自定义开机快速启动项 windows | miniconda 配置 python 虚拟环境 Zabbix | 监控主机到指定 ip 的流量大小
kubernetes | command args 和 dockerfile 中的 ENTRYPOINT CMD
lvbibir · 2023-04-12 · via lvbibir's Blog
  • 如果指定了 containers.command,Dockerfile 中的 ENTRYPOINT 会被覆盖且 CMD 指令被忽略
  • 如果指定了 containers.args,Dockerfile 中的 ENTRYPOINT 继续执行, CMD 指令 被覆盖
ENTRYPOINT CMD command args finally
["/ep1"] [“foo”, “bar”] ep-1 foo bar
["/ep1"] [“foo”, “bar”] ["/ep-2"] ep-2
["/ep1"] [“foo”, “bar”] [“zoo”, “boo”] ep-1 zoo boo
["/ep1"] [“foo”, “bar”] ["/ep-2"] [“zoo”, “boo”] ep-2 zoo boo

2 CMD ENTRYPOINT

我们大概可以总结出下面几条规律:

  • 如果 ENTRYPOINT 使用了 shell 模式,CMD 指令会被忽略。
  • 如果 ENTRYPOINT 使用了 exec 模式,CMD 指定的内容被追加为 ENTRYPOINT 指定命令的参数。
  • 如果 ENTRYPOINT 使用了 exec 模式,CMD 也应该使用 exec 模式。

还有一点需要注意,如果使用 docker run --entrypoint 覆盖了 Dockerfile 中的 ENTRYPOINT , 同时 CMD 指令也会被忽略

真实的情况要远比这三条规律复杂,好在 docker 给出了 官方的解释,如下图所示:

image-20230410160304323

以上