容器化入门:Docker 镜像瘦身实践
镜像为什么这么大
最常见的坑是用 ubuntu:latest 做基础镜像,再装一堆编译工具,最后连构建依赖都一起带进运行镜像。
多阶段构建
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避免把本地垃圾塞进构建上下文。
评论(0)