Slide 38
Slide 38 text
マルチステージビルド
ビルドと、ビルドしたバイナリを利用するコンテナを分離
ビルドに必要なGoが入っていないalpineにバイナリを配置
-> 最小のコンテナサイズで実行ファイルが利用可能 ※利用OSに注意
FROM golang:1.15.2 as build
WORKDIR /go/src
COPY . .
RUN CGO_ENABLED=0 go build -o hoge-server cmd/hoge-server/main.go
FROM alpine:edge
WORKDIR /root/
COPY --from=build /go/src/hoge-server .
CMD ["./hoge-server", "--host", "0.0.0.0", "--port", "80"]
38