# syntax=docker/dockerfile:1 # FROM node:14.19-alpine as builder1 # ARG RELEASE_VERSION # WORKDIR /app/dtm # COPY . . # RUN cd admin && yarn && VITE_ADMIN_VERSION=$RELEASE_VERSION yarn build FROM --platform=amd64 node as builder2 ARG TARGETARCH ARG TARGETOS ARG RELEASE_VERSION WORKDIR /app/dtm COPY . . RUN cd admin && yarn && VITE_ADMIN_VERSION=$RELEASE_VERSION yarn build FROM --platform=$TARGETPLATFORM golang:1.18-alpine as builder1 ARG TARGETARCH ARG TARGETOS ARG RELEASE_VERSION WORKDIR /app/dtm # RUN go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct COPY . . COPY --from=builder2 /app/dtm/admin/dist /app/dtm/admin/dist RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -ldflags="-s -w -X main.Version=$RELEASE_VERSION" FROM --platform=$TARGETPLATFORM alpine COPY --from=builder1 /app/dtm/dtm /app/dtm/ WORKDIR /app/dtm EXPOSE 8080 ENTRYPOINT ["/app/dtm/dtm"]