🐳

Dockerfile 指令速查

Dockerfile 指令 FROM/RUN/COPY/CMD 等速查。

本地处理 · 不上传

加载工具中…

相关:dockerfile · docker · 指令 · 构建

Dockerfile 指令速查列出各指令的作用与常见写法,并指出影响镜像体积与构建缓存的关键点。写 Dockerfile 的顺序直接决定构建速度。

使用步骤

  1. 按基础镜像、依赖安装、拷贝、启动的顺序组织指令
  2. 把变动少的步骤放前面以利用层缓存
  3. 注意 CMD 与 ENTRYPOINT 的配合方式
  4. 构建后用 docker history 看每层的体积

使用场景

  • 编写与优化 Dockerfile
  • 理解各指令的行为差异
  • 减小镜像体积
  • 改善构建缓存命中

小贴士

  • 把变化少的步骤(安装依赖)放前面,变化频繁的(复制源码)放后面,能最大化利用构建缓存。
  • 每条 RUN 都会产生一个镜像层,删除文件的操作必须与创建它的操作在同一条 RUN 中,否则文件仍存在于历史层里。
  • COPY 与 ADD 的区别在于 ADD 会自动解压压缩包并支持 URL,正因为行为更多所以更容易出意外,通常应优先用 COPY。

常见问题

为什么每次构建都很慢?

多半是指令顺序导致缓存失效。COPY 全部源码放在安装依赖之前,任何代码改动都会让后续所有层重新构建。应先复制依赖清单、装依赖,再复制源码。

镜像为什么这么大?

常见原因是在后续层删除文件——前面的层仍保留着它。删除操作必须与产生文件的操作写在同一条 RUN 里。此外使用多阶段构建,只把产物复制到最终镜像,能大幅瘦身。

COPY 和 ADD 用哪个?

优先 COPY。ADD 额外支持自动解压与从 URL 下载,这些隐式行为容易带来意外。除非确实需要自动解压压缩包,否则应该用行为明确的 COPY。

Dockerfile 指令速查是免费的吗?

是。本站所有工具完全免费,无需注册登录、无广告干扰,打开即用。

使用Dockerfile 指令速查,我的数据安全吗?

安全。该工具在你的浏览器本地完成处理,输入内容不会上传到服务器,隐私更有保障。