From bd7666b3e62c941ab90283f3d667fe704e903dbf Mon Sep 17 00:00:00 2001 From: Fuxin Hao Date: Thu, 21 Dec 2017 14:22:56 +0800 Subject: [PATCH] Use multi-stage builds --- Dockerfile | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index b49ed4f..44e7fbe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,13 @@ -FROM golang:latest -RUN mkdir /app -WORKDIR /app -ENV SRC_DIR=/go/src/github.com/codeskyblue/gohttpserver -ADD . $SRC_DIR -RUN cd $SRC_DIR; go build; cp gohttpserver /app/ -ENTRYPOINT ["/app/gohttpserver"] +FROM golang:1.9 AS build +WORKDIR /go/src/github.com/codeskyblue/gohttpserver +ADD . /go/src/github.com/codeskyblue/gohttpserver/ +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o gohttpserver . + +FROM alpine:3.6 +WORKDIR /app +RUN mkdir -p /app/public +VOLUME /app/public +ADD res ./res +COPY --from=build /go/src/github.com/codeskyblue/gohttpserver/gohttpserver . +EXPOSE 8000 +CMD ["/app/gohttpserver", "--root=/app/public"]