Skip to content

Commit 2908deb

Browse files
committed
use cross compiling
1 parent dde2f84 commit 2908deb

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

Dockerfile

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,25 @@
1-
FROM golang:1.19-alpine as gobuild
1+
# Golang can cross-compile
2+
FROM --platform=$BUILDPLATFORM golang:1.19-alpine as gobuild
23

34
WORKDIR /build
45
ADD go.mod go.sum /build/
56
RUN go mod download -x
67
ADD cmd /build/cmd
78
ADD pkg /build/pkg
8-
RUN CGO_ENABLED=0 GOOS=linux go build -a -ldflags '-extldflags "-static"' -o ./s3driver ./cmd/s3driver
99

10-
FROM alpine:3.17 AS downloader
10+
ARG TARGETOS
11+
ARG TARGETARCH
12+
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -a -ldflags '-extldflags "-static"' -o ./s3driver ./cmd/s3driver
13+
14+
FROM --platform=$BUILDPLATFORM alpine:3.17 AS downloader
1115

1216
WORKDIR /work
1317

1418
RUN apk add --no-cache curl
1519

16-
ARG TARGETPLATFORM
17-
RUN ARCH=$(echo $TARGETPLATFORM | sed -e 's/^linux\///g') && \
18-
curl https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-$ARCH -LfSso /work/geesefs
20+
ARG TARGETOS
21+
ARG TARGETARCH
22+
RUN curl https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-$TARGETOS-$TARGETARCH -LfSso /work/geesefs
1923

2024
FROM alpine:3.17
2125
LABEL maintainers="Vitaliy Filippov <vitalif@yourcmc.ru>"

0 commit comments

Comments
 (0)