Parcourir la source

Utilize multi-stage docker build

Andrew Swistak il y a 6 ans
Parent
commit
94b662bedb
1 fichiers modifiés avec 12 ajouts et 3 suppressions
  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