You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker镜像最后一层突增400+MB及双CMD问题排查

关于Docker镜像层的两个问题解答

1. 最后一条CMD命令为何增加400多MB体积?

首先要明确:CMD本身是镜像元数据指令,不会向镜像中添加任何文件,自然也不会占用存储空间。你看到的400MB体积,大概率是前面安装Python及相关依赖的操作产生的——OracleLinux 9 slim基础镜像本身体积很小,安装Python(包括其依赖库、系统依赖包)会占用几百MB空间。

如果你的Dockerfile里把安装命令和CMD写在了同一个RUN指令里,那这部分体积会被归到同一条记录下;另外,如果安装后没清理包管理器缓存(比如OracleLinux用dnf,没执行dnf clean all),也会额外增加镜像体积。

2. 为何会出现两条CMD命令?

docker history会显示镜像构建过程中所有层的指令,包括基础镜像里的CMD。但实际运行容器时,只会执行你在Dockerfile中最后设置的CMD——新的CMD会覆盖基础镜像的CMD,历史记录里的只是构建过程的痕迹,不会影响容器的实际启动命令。

内容的提问来源于stack exchange,提问作者Milica Nikolić

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 08:50:22