File tree Expand file tree Collapse file tree 2 files changed +32
-11
lines changed Expand file tree Collapse file tree 2 files changed +32
-11
lines changed Original file line number Diff line number Diff line change 1
1
ARG DOCKER_GEN_VERSION=main
2
2
3
3
# Build docker-gen from scratch
4
- FROM golang:1.20.12-alpine as go-builder
4
+ FROM --platform=$BUILDPLATFORM golang:1.20.12-alpine as go-builder
5
+
6
+ ENV CGO_ENABLED=0
7
+
8
+ ARG DOCKER_GEN_VERSION TARGETOS TARGETARCH TARGETVARIANT
9
+ ENV GOOS=$TARGETOS GOARCH=$TARGETARCH VARIANT=$TARGETVARIANT
5
10
6
- ARG DOCKER_GEN_VERSION
7
11
WORKDIR /build
8
12
9
13
# Install the dependencies
10
14
COPY . .
11
15
RUN go mod download
12
16
13
17
# Build the docker-gen executable
14
- RUN GOOS=linux CGO_ENABLED=0 go build -ldflags "-X main.buildVersion=${DOCKER_GEN_VERSION}" -o docker-gen ./cmd/docker-gen
15
-
16
- FROM alpine:3.19.0
18
+ RUN set -eux; \
19
+ case "$GOARCH" in \
20
+ arm) export GOARM="${VARIANT#v}" ;; \
21
+ amd64) export GOAMD64="$VARIANT" ;; \
22
+ *) [ -z "$VARIANT" ] ;; \
23
+ esac; \
24
+ go env | grep -E 'OS=|ARCH=|ARM=|AMD64='; \
25
+ go build -ldflags "-X main.buildVersion=${DOCKER_GEN_VERSION}" -o docker-gen ./cmd/docker-gen
26
+
27
+ FROM --platform=$TARGETPLATFORM alpine:3.19.0
17
28
18
29
ARG DOCKER_GEN_VERSION
19
30
ENV DOCKER_GEN_VERSION=${DOCKER_GEN_VERSION} \
Original file line number Diff line number Diff line change 1
1
ARG DOCKER_GEN_VERSION=main
2
2
3
3
# Build docker-gen from scratch
4
- FROM golang:1.20.12 as go-builder
4
+ FROM --platform=$BUILDPLATFORM golang:1.20.12 as go-builder
5
5
6
- ARG DOCKER_GEN_VERSION
6
+ ENV CGO_ENABLED=0
7
+
8
+ ARG DOCKER_GEN_VERSION TARGETOS TARGETARCH TARGETVARIANT
9
+ ENV GOOS=$TARGETOS GOARCH=$TARGETARCH VARIANT=$TARGETVARIANT
7
10
8
11
WORKDIR /build
9
12
@@ -12,12 +15,19 @@ COPY . .
12
15
RUN go mod download
13
16
14
17
# Build the docker-gen executable
15
- RUN GOOS=linux CGO_ENABLED=0 go build -ldflags "-X main.buildVersion=${DOCKER_GEN_VERSION}" -o docker-gen ./cmd/docker-gen
18
+ RUN set -eux; \
19
+ case "$GOARCH" in \
20
+ arm) export GOARM="${VARIANT#v}" ;; \
21
+ amd64) export GOAMD64="$VARIANT" ;; \
22
+ *) [ -z "$VARIANT" ] ;; \
23
+ esac; \
24
+ go env | grep -E 'OS=|ARCH=|ARM=|AMD64='; \
25
+ go build -ldflags "-X main.buildVersion=${DOCKER_GEN_VERSION}" -o docker-gen ./cmd/docker-gen
16
26
17
- FROM debian:12.4-slim
27
+ FROM --platform=$TARGETPLATFORM debian:12.4-slim
18
28
19
- ARG VERSION
20
- ENV DOCKER_GEN_VERSION=${VERSION } \
29
+ ARG DOCKER_GEN_VERSION
30
+ ENV DOCKER_GEN_VERSION=${DOCKER_GEN_VERSION } \
21
31
DOCKER_HOST=unix:///tmp/docker.sock
22
32
23
33
# Install packages required by the image
You can’t perform that action at this time.
0 commit comments