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

相关推荐
Interview Aid1122 分钟前
Akuna OA 题目拆解|三题思路复盘
linux·运维·算法·面试·职场和发展
qq210846295313 分钟前
Ubuntu 磁盘空间清理实战:从 Docker 到 VirtualBox 的完整指南
linux·ubuntu·docker
蒲锘14 分钟前
DevOps 项目阶段笔记二:Docker Engine + cri-dockerd
笔记·docker·devops
小无名呀22 分钟前
Docker的使用
运维·docker·容器
张洛闻Eren23 分钟前
云原生k8s【第五课】:资源配额与限制
运维·数据库·云原生·kubernetes·k8s·github
.柒宇.28 分钟前
运维常见面试题_07_配置管理与监控(Ansible · Prometheus · Alertmanager)· 容器编排(Kubernetes)
运维·k8s·ansible·prometheus
瀚高PG实验室31 分钟前
PostgreSQL 服务器因整数回绕导致分配空间过小HGVE-2026-E008
运维·服务器·数据库·瀚高数据库
程序员无隅32 分钟前
远程控制补上了 Agent 的最后一公里:WorkBuddy 的多端协同体验
运维·服务器
MNLoser38 分钟前
AI agent开发——LangGraph接入持久化
linux·人工智能·windows·python
啦啦啦啦啦zzzz44 分钟前
升序链表的定时器
linux·服务器·网络·数据结构·c++·链表