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

相关推荐
Apipi*2 分钟前
30天速通Linux 第九章Linux网络编程
linux·运维·网络
报错小能手14 分钟前
Channel面试题。Sync面试题
linux·服务器·windows
天远数科15 分钟前
零信任架构实战:基于天远风控经营异常预警构建自动化电子签章前置合规网关
运维·人工智能·架构·自动化
xiaoqiMikko23 分钟前
Linux 实战(五):DNS、hosts、CLOSE-WAIT、SSH 权限与改端口 —— 三台真机实测
linux·centos
Linux-lucky27 分钟前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
yv798an38 分钟前
从 OpenSBI 引导到 C++17 异步运行时:自制 RISC-V 嵌入式专有 NAS 踩坑全记录
linux
不悔哥1 小时前
Linux系统编程多线程程序如何安全退出
linux
Fcy6481 小时前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
YH行业报告分析2 小时前
2026电缆铺设设备市场:自动化敷设与电网升级驱动增长
运维·自动化
Wang's Blog3 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker