Apply best practices to Dockerfile

This commit is contained in:
Victor Castell 2021-11-05 16:46:59 +01:00
parent e9703c7e3f
commit 0aa8feeb00

View file

@ -1,18 +1,27 @@
# Build Geth in a stock Go builder container
FROM golang:1.17-alpine as builder
RUN apk add --no-cache make gcc musl-dev linux-headers git bash
RUN set -x \
&& buildDeps='bash build-base musl-dev linux-headers git' \
&& apk add --update $buildDeps \
&& rm -rf /var/cache/apk/* \
&& mkdir -p /bor
ADD . /bor
RUN cd /bor && make bor-all
WORKDIR /bor
COPY . .
RUN make bor-all
CMD ["/bin/bash"]
# Pull Bor into a second stage deploy alpine container
FROM alpine:latest
FROM alpine:3.14
RUN set -x \
&& apk add --update --no-cache \
ca-certificates \
&& rm -rf /var/cache/apk/*
RUN apk add --no-cache ca-certificates
COPY --from=builder /bor/build/bin/bor /usr/local/bin/
COPY --from=builder /bor/build/bin/bootnode /usr/local/bin/
EXPOSE 8545 8546 8547 30303 30303/udp
EXPOSE 8545 8546 8547 30303 30303/udp