fix docker build arm64 failed (#117)

Signed-off-by: liheng.zms <liheng.zms@alibaba-inc.com>
This commit is contained in:
berg 2023-02-13 09:45:58 +08:00 committed by liheng.zms
parent 2d957c0ff0
commit 6c754443f0
1 changed files with 15 additions and 7 deletions

View File

@ -1,5 +1,7 @@
# Build the manager binary # Build the manager binary
FROM --platform=$BUILDPLATFORM golang:1.16 as builder ARG BASE_IMAGE=alpine
ARG BASE_IMAGE_VERION=3.17
FROM --platform=$BUILDPLATFORM golang:1.18-alpine3.17 as builder
WORKDIR /workspace WORKDIR /workspace
@ -13,14 +15,20 @@ COPY api/ api/
COPY pkg/ pkg/ COPY pkg/ pkg/
# Build # Build
ARG TARGETOS TARGETARCH ARG TARGETOS
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -a -o manager main.go ARG TARGETARCH
RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} CGO_ENABLED=0 GO111MODULE=on go build -a -o manager main.go
ARG BASE_IMAGE
ARG BASE_IMAGE_VERION
FROM ${BASE_IMAGE}:${BASE_IMAGE_VERION}
RUN apk add --no-cache ca-certificates=~20220614-r4 bash=~5.2.15-r0 expat=~2.5.0-r0 \
&& rm -rf /var/cache/apk/*
# Use distroless as minimal base image to package the manager binary
# Refer to https://github.com/GoogleContainerTools/distroless for more details
FROM gcr.io/distroless/static:nonroot
WORKDIR / WORKDIR /
COPY --from=builder /workspace/manager . COPY --from=builder /workspace/manager .
USER 65532:65532 COPY lua_configuration /lua_configuration
USER 1000
ENTRYPOINT ["/manager"] ENTRYPOINT ["/manager"]