首页/云/云与容器速查/Dockerfile RUN 指令
本包目录(340 条)
云基础概念44 条计算与存储56 条网络与安全组33 条
容器与 Docker106 条
Kubernetes68 条容器排障33 条

Dockerfile RUN 指令

构建期执行命令:安装依赖、编译、生成配置。每条 RUN 生成一个镜像层,安装与清理必须写在同一层,否则体积并不会变小。

云与容器速查云更新于 2026-10-12
shell 形式RUN apt-get update && apt-get install -y curl(经 /bin/sh -c)
exec 形式RUN ["apt-get","install","-y","curl"](不经 shell,无变量展开)
分层规则一条 RUN 一层:合并安装、清理、建目录操作
缓存命令文本不变即复用缓存;必要时 docker build --no-cache
可调试set -eux 开头:出错即停且回显每条命令

同层安装并清理

同层安装并清理
RUN set -eux; \
    apt-get update; \
    apt-get install -y --no-install-recommends curl ca-certificates; \
    rm -rf /var/lib/apt/lists/*
不要把清理放到下一条 RUN:文件已在上一层固化,镜像体积不会减小。

易错点

  • apt-get upgrade 或不锁版本:构建不可复现且可能引入不兼容
  • 缓存误判:改了源文件以为 RUN 会重跑,实际缓存命中,装了旧依赖

数据来源与参考

  • Docker Docs:Dockerfile reference(RUN)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌