1 回答

TA贡献1804条经验 获得超3个赞
golang:1.14不是alpine基础,而是debian基础。因此,您当然不能在 alpine 映像中运行 debian 构建二进制文件。
尝试更换
FROM golang:${GOLANG_VERSION} as build-helpers
和
FROM golang:${GOLANG_VERSION}-alpine as build-helpers
并添加以下行以下载构建二进制文件所需的库
RUN apk update && \
apk --update upgrade && \
apk add --no-cache ca-certificates gcc musl-dev git && \
update-ca-certificates && \
rm -rf /var/cache/apk/*
更新
添加make并将apk更新并添加到下面FROM golang:...
FROM golang:${GOLANG_VERSION}-alpine as build-helpers
RUN apk update && \
apk --update upgrade && \
apk add --no-cache ca-certificates gcc musl-dev git make && \
update-ca-certificates && \
rm -rf /var/cache/apk/*
OP 更新后更新问题
由于您将alpine构建状态二进制文件从helperbase 复制到最终映像golang:${VERSION},即debian环境,因此它当然无法运行。
我建议您对所有构建阶段或最终 docker 映像仅使用一个环境(alpine或debian)。
所以你第一个 docker 镜像的第一个构建状态应该是
FROM golang:${GOLANG_VERSION}
最终图像请使用debian而不是 alpine
FROM debian
- 1 回答
- 0 关注
- 351 浏览
添加回答
举报