amd
$env:GOOS="linux"
$env:GOARCH="amd64"
go build -o product
GOOS=linux GOARCH=amd64 go build -o product
arm
$env:GOOS="linux"
$env:GOARCH="arm64"
go build -o product
GOOS=linux GOARCH=arm64 go build -o product
FROM golang:alpine AS builder
ENV GO111MODULE=on \\
CGO_ENABLED=0 \\
GOOS=linux \\
GOARCH=amd64
WORKDIR /build
COPY go.mod go.sum app.go ./
RUN go mod download && go build -o app .
WORKDIR /dist
RUN cp /build/app .
FROM scratch
COPY --from=builder /dist/app .
EXPOSE 8080
ENTRYPOINT ["/app"]
# 빌드 스테이지
FROM golang:alpine AS builder
WORKDIR /app
COPY . .
RUN go build -o product
# 최종 스테이지
FROM alpine
WORKDIR /app
COPY --from=builder /app/product .
RUN chmod +x product
CMD ["./product"]