---
title: "容器化入门：Docker 镜像瘦身实践"
slug: "20261005124411"
date: "2026-04-22 14:20"
updated: "2026-10-05T12:44:07+08:00"
category: "笔记"
tags: ["Docker", "容器", "运维"]
description: "镜像动辄上 GB？掌握多阶段构建和基础镜像选型，能把体积砍掉 90%。"
url: https://blog.dayuai.com/20261005124411
---
## 镜像为什么这么大

最常见的坑是用 `ubuntu:latest` 做基础镜像，再装一堆编译工具，最后连构建依赖都一起带进运行镜像。

## 多阶段构建

```dockerfile
FROM golang:1.22 AS build
WORKDIR /app
COPY . .
RUN go build -o server .

FROM gcr.io/distroless/base-debian12
COPY --from=build /app/server /server
CMD ["/server"]
```

构建产物从构建阶段拷进极简运行阶段，最终镜像可能只有几 MB。

## 几个原则

- 优先选 `alpine` 或 `distroless` 基础镜像。
- 合并 `RUN` 并清理 apt 缓存。
- 用 `.dockerignore` 避免把本地垃圾塞进构建上下文。
