소스 검색

Utilize multi-stage docker build

Andrew Swistak 6 년 전
부모
커밋
94b662bedb
1개의 변경된 파일12개의 추가작업 그리고 3개의 파일을 삭제
  1. 12 3
      Dockerfile

+ 12 - 3
Dockerfile

@@ -1,10 +1,19 @@
-FROM golang:1.12.4-alpine
+FROM golang:1.12.4-alpine as base
 MAINTAINER Andrew Swistak <andrew@andrewswistak.com>
 
-ADD . /go/src/github.com/ajswis/go-pkparse-server
-
+RUN mkdir -p /go/src/github.com/ajswis/go-pkparse-server
 WORKDIR /go/src/github.com/ajswis/go-pkparse-server
+
+################################################################################
+FROM base as builder
+
+COPY . /go/src/github.com/ajswis/go-pkparse-server
 RUN go build .
 
+################################################################################
+FROM base as prod
+
+COPY --from=builder /go/src/github.com/ajswis/go-pkparse-server/go-pkparse-server .
+
 ENV GIN_MODE=release
 CMD ./go-pkparse-server