Skip to content
This repository was archived by the owner on Dec 5, 2023. It is now read-only.

Commit 1968fe0

Browse files
authored
Merge pull request #58 from microservices-demo/multistage-build
Multistage docker build
2 parents a7ea691 + a49f19e commit 1968fe0

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

Makefile

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ GROUP = weaveworksdemos
77

88
TAG=$(TRAVIS_COMMIT)
99

10-
default: build
10+
default: docker
1111

1212

1313
pre:
@@ -48,17 +48,14 @@ dockerruntest: dockertestdb dockerdev
4848
docker run -d --name my$(TESTDB) -h my$(TESTDB) $(TESTDB)
4949
docker run -d --name $(INSTANCE)-dev -p 8084:8084 --link my$(TESTDB) -e MONGO_HOST="my$(TESTDB):27017" $(INSTANCE)-dev
5050

51-
docker: build
52-
cp -rf bin docker/user/
53-
docker build -t $(NAME) -f docker/user/Dockerfile-release docker/user/
51+
docker:
52+
docker build -t $(NAME) -f docker/user/Dockerfile-release .
5453

55-
dockerlocal: build
56-
cp -rf bin docker/user/
57-
docker build -t $(INSTANCE)-local -f docker/user/Dockerfile-release docker/user/
54+
dockerlocal:
55+
docker build -t $(INSTANCE)-local -f docker/user/Dockerfile-release .
5856

59-
dockertravisbuild: build
60-
cp -rf bin docker/user/
61-
docker build -t $(NAME):$(TAG) -f docker/user/Dockerfile-release docker/user/
57+
dockertravisbuild:
58+
docker build -t $(NAME):$(TAG) -f docker/user/Dockerfile-release .
6259
docker build -t $(DBNAME):$(TAG) -f docker/user-db/Dockerfile docker/user-db/
6360
if [ -z "$(DOCKER_PASS)" ]; then \
6461
echo "This is a build triggered by an external PR. Skipping docker push."; \
@@ -88,7 +85,3 @@ clean: cleandocker
8885
rm -rf bin
8986
rm -rf docker/user/bin
9087
rm -rf vendor
91-
92-
build: deps
93-
mkdir -p bin
94-
CGO_ENABLED=0 go build -a -installsuffix cgo -o bin/$(INSTANCE) main.go

docker/user/Dockerfile-release

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
FROM golang:1.7-alpine
2+
3+
COPY . /go/src/github.com/microservices-demo/user/
4+
WORKDIR /go/src/github.com/microservices-demo/user/
5+
6+
RUN apk update
7+
RUN apk add git
8+
RUN go get -v github.com/Masterminds/glide
9+
RUN glide install && CGO_ENABLED=0 go build -a -installsuffix cgo -o /user main.go
10+
111
FROM alpine:3.4
212

313
ENV SERVICE_USER=myuser \
@@ -15,7 +25,7 @@ ENV MONGO_HOST user-db
1525

1626
WORKDIR /
1727
EXPOSE 80
18-
COPY bin/user /
28+
COPY --from=0 /user /
1929

2030
RUN chmod +x /user && \
2131
chown -R ${SERVICE_USER}:${SERVICE_GROUP} /user && \

0 commit comments

Comments
 (0)