Skip to content

Commit ab5f119

Browse files
authored
feat: add multi-architecture support for Docker build (#536)
1 parent 71ea6c7 commit ab5f119

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

Diff for: docker/latest/Dockerfile.standalone

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,21 @@
11
ARG VER_GOLANG=1.17.6-alpine3.15
22
ARG VER_ALPINE=3.15
33

4-
FROM "doocs/md:latest-assets" AS assets
4+
FROM --platform=$BUILDPLATFORM "doocs/md:latest-assets" AS assets
55

6-
FROM "golang:$VER_GOLANG" AS gobuilder
6+
FROM --platform=$BUILDPLATFORM "golang:$VER_GOLANG" AS gobuilder
7+
ARG TARGETARCH
8+
ARG TARGETOS
79
COPY --from=assets /app/* /app/assets/
8-
COPY server/main.go /app
10+
COPY docker/latest/server/main.go /app
911
RUN apk add git bash gcc musl-dev upx
1012
WORKDIR /app
13+
ENV GOOS=$TARGETOS GOARCH=$TARGETARCH
1114
RUN go build -ldflags "-w -s" -o md main.go && \
1215
apk add upx && \
13-
upx -9 -o md.minify md
16+
if [ "$TARGETARCH" = "amd64" ]; then upx -9 -o md.minify md; else cp md md.minify; fi
1417

15-
FROM "alpine:$VER_ALPINE"
18+
FROM --platform=$TARGETPLATFORM "alpine:$VER_ALPINE"
1619
LABEL MAINTAINER="ylb<[email protected]>"
1720
COPY --from=gobuilder /app/md.minify /bin/md
1821
EXPOSE 80

0 commit comments

Comments
 (0)