镜像瘦身
为什么瘦身
大镜像 → 拉取慢、存储贵、攻击面大
瘦身技巧
# 1. 使用小基础镜像
FROM alpine:3.18 # 5MB
# 而不是
FROM ubuntu:22.04 # 77MB
# 2. 多阶段构建
FROM golang:1.21 AS builder
RUN go build -o app .
FROM alpine:3.18
COPY --from=builder /app .
# 3. 合并 RUN 层
RUN apt-get update && \
apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*
# 4. 使用 .dockerignore
查看大小
docker images
docker history my-app
小结
| 技巧 | 效果 |
|---|---|
| alpine 基础镜像 | 减少 90% |
| 多阶段构建 | 减少 80% |
| 合并 RUN | 减少层数 |
| .dockerignore | 减少上下文 |