方法1 使用更小的基础镜像
FROM centos:7
改成
FROM busybox:1.35.0
基础镜像从204MB减少到4.27MB。
方法2 减少镜像层数
RUN mv test test1
RUN chmod +x a.sh
改成
RUN mv test test1 && \
chmod +x a.sh
方法3 多阶段构建
最终镜像只拷贝二进制文件,去掉编译工具链和编译器。
FROM golang:1.19.0 AS appbuild
WORKDIR /go/src
COPY test.go .
RUN go build test.go
FROM busybox:1.35.0
COPY --from=appbuild /go/src/test .
CMD ["./test"]