github.com/bcskill/bcschain/v3@v3.4.9-beta2/Dockerfile (about)

     1  # Build GoChain in a stock Go builder container
     2  FROM golang:1.17-alpine3.13 as builder
     3  
     4  RUN apk --no-cache add build-base git mercurial gcc linux-headers
     5  ENV D=/gochain
     6  WORKDIR $D
     7  # cache dependencies
     8  ADD go.mod $D
     9  ADD go.sum $D
    10  RUN go mod download
    11  # build
    12  ADD . $D
    13  RUN cd $D && make all && mkdir -p /tmp/gochain && cp $D/bin/* /tmp/gochain/
    14  
    15  # Pull all binaries into a second stage deploy alpine container
    16  FROM alpine:latest
    17  
    18  RUN apk add --no-cache ca-certificates
    19  COPY --from=builder /tmp/gochain/* /usr/local/bin/
    20  EXPOSE 6060 8545 8546 30303 30303/udp 30304/udp
    21  CMD [ "gochain" ]