aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPéter Szilágyi <peterke@gmail.com>2017-09-05 17:16:59 +0800
committerPéter Szilágyi <peterke@gmail.com>2017-09-05 17:16:59 +0800
commit8f567dc8a2cf1e963a972a0d986703b41988f50b (patch)
treed907da8911384c25a66704f44116aa22bb57735e
parent504278e8398ef787d4f6f73178afa342a31a88ed (diff)
downloadgo-tangerine-8f567dc8a2cf1e963a972a0d986703b41988f50b.tar.gz
go-tangerine-8f567dc8a2cf1e963a972a0d986703b41988f50b.tar.zst
go-tangerine-8f567dc8a2cf1e963a972a0d986703b41988f50b.zip
Dockerfile: multi-stage builds, Go 1.9
-rw-r--r--Dockerfile18
1 files changed, 10 insertions, 8 deletions
diff --git a/Dockerfile b/Dockerfile
index 947f045e5..17fa40951 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,13 +1,15 @@
-FROM alpine:3.6
+# Build Geth in a stock Go builder container
+FROM golang:1.9-alpine as builder
+
+RUN apk add --no-cache make gcc musl-dev linux-headers
ADD . /go-ethereum
-RUN \
- apk add --no-cache git go make gcc musl-dev linux-headers && \
- (cd go-ethereum && make geth) && \
- cp go-ethereum/build/bin/geth /usr/local/bin/ && \
- apk del git go make gcc musl-dev linux-headers && \
- rm -rf /go-ethereum
+RUN cd /go-ethereum && make geth
+
+# Pull Geth into a second stage deploy alpine container
+FROM alpine:latest
-EXPOSE 8545 30303 30303/udp
+COPY --from=builder /go-ethereum/build/bin/geth /usr/local/bin/
+EXPOSE 8545 8546 30303 30303/udp
ENTRYPOINT ["geth"]