docker cmd

FROM busybox

ENTRYPOINT "echo", "echo", "echo" # 3 个部分

CMD "c", "d", "e", "f", "g" # 5 个部分

Docker 规则:

ENTRYPOINT 全部 + CMD 全部 = 直接拼在一起,变成一条命令!

拼起来就是:

echo echo echo c d e f g

执行结果:echo echo c d e f g

CMD 的唯一设计意义

给容器设置默认启动参数 / 默认子命令

允许用户在 docker run 镜像 后面跟内容 直接覆盖替换 这套默认参数

不用改 Dockerfile、不用重新构建镜像,就能临时换启动参数

eg:

场景 1:只用 CMD 不写 ENTRYPOINT

dockerfile:

CMD "nginx", "-g", "daemon off;"

此时 CMD 是完整启动命令 + 参数

docker run 镜像 就执行这条

docker run 镜像 ls -l → 直接整条替换,不跑 nginx 改跑 ls

意义:给镜像设默认启动命令,支持运行时一键替换整个命令

场景 2:ENTRYPOINT + CMD 搭配

dockerfile:

ENTRYPOINT "/usr/bin/nginx"

CMD "-g", "daemon off;"

ENTRYPOINT:固定主程序,写死不换

CMD:给主程序的默认参数

运行:

docker run 镜像 → 用 CMD 默认参数:nginx -g daemon off;

docker run 镜像 -v → 覆盖 CMD,变成:nginx -v

相关推荐
为思念酝酿的痛3 小时前
POSIX信号量
linux·运维·服务器·后端
专业白嫖怪4 小时前
什么是docker
运维·docker·容器
人还是要有梦想的5 小时前
linux下用搜狗输入法,中英文切换
linux·运维·服务器
北京智和信通5 小时前
某部队IT基础设施及机房动环统一运维建设实例
运维·网管平台·网管软件·网络管理系统·网络运维平台·网络运维系统
乐维_lwops5 小时前
从 “救火运维” 到 “自动驾驶”:运维智能体到底解决了什么?
运维·人工智能·运维智能体
bush45 小时前
嵌入式linux学习记录二
linux·运维·学习
9分钟带帽5 小时前
linux_通过NFS挂载远程服务器的硬盘
linux·服务器
weixin_468466855 小时前
MoneyPrinterTurbo 短视频自动化生产实战指南
运维·人工智能·自动化·大模型·音视频·moneyprinter
難釋懷6 小时前
Nginx自签名-图形化工具 XCA
运维·nginx
运维栈记8 小时前
API Error: 400 Request body format invalid
linux·ai