【发布时间】:2018-09-16 19:03:56
【问题描述】:
当我在本地为 linux/windows/Mac 构建项目时,我想为我的 gaoling 项目使用多阶段构建 我得到了 12.6 mb 的大小,我目前有一个小的 gaoling CLI 程序。
现在我想使用 scratch 选项从它构建 lightwhigt docker 映像并构建 as
我使用以下内容,但是当我检查图像时,我看到它的大小 366MB ,知道我在这里缺少什么吗?
它应该小于 20MB...
#build stage
FROM golang:alpine as builder
WORKDIR /go/src/tzf
ADD . /go/src/tzf
RUN CGO_ENABLED=0 go build -ldflags '-extldflags "-static"' -o ova tzf
RUN apk add --no-cache git
FROM golang:alpine
RUN mkdir /build
ADD . /build/
WORKDIR /build
RUN CGO_ENABLED=0 go build -ldflags '-extldflags "-static"' -o ova tzf
FROM scratch
COPY --from=builder /build/main /app/
WORKDIR /app
CMD [“./ova -v"]
【问题讨论】:
-
调试建议:如果您暂时将最终图像更改为
FROM busybox,您可以在其中启动一个shell来查看图像中的内容。
标签: docker go docker-compose dockerfile docker-multi-stage-build