go-ethereum/Dockerfile.alltools
Cal Bera c901125e84
feat(BRIP-1): Prepare fork for Berachain (#3)
* Move all changes except EIP-1559 to prepare-fork branch

* fix build

* nit

* empty bera configs

* undo unneeded changes

* fix config fiel

* genesis TODOs

* nit comment

* config TODOs

* fix up .github

* changelog

* changelog nit

* Relevant CI jobs

* try release fix

* try release fix 2

* testing release push

* fix docker login

* secure login

* remove circle ci

* disable for now

* nit changelog
2025-06-18 17:23:00 -07:00

39 lines
1.2 KiB
Docker

# Support setting various labels on the final image
ARG COMMIT=""
ARG VERSION=""
ARG BUILDNUM=""
# Build Geth in a stock Go builder container
FROM golang:1.24-alpine AS builder
RUN apk add --no-cache gcc musl-dev linux-headers git
# Get dependencies - will also be cached if we won't change go.mod/go.sum
COPY go.mod /bera-geth/
COPY go.sum /bera-geth/
RUN cd /bera-geth && go mod download
ADD . /bera-geth
# This is not strictly necessary, but it matches the "Dockerfile" steps, thus
# makes it so that under certain circumstances, the docker layer can be cached,
# and the builder can jump to the next (build all) command, with the go cache fully loaded.
#
RUN cd /bera-geth && go run build/ci.go install -static ./cmd/geth
RUN cd /bera-geth && go run build/ci.go install -static
# Pull all binaries into a second stage deploy alpine container
FROM alpine:latest
RUN apk add --no-cache ca-certificates
COPY --from=builder /bera-geth/build/bin/* /usr/local/bin/
EXPOSE 8545 8546 30303 30303/udp
# Add some metadata labels to help programmatic image consumption
ARG COMMIT=""
ARG VERSION=""
ARG BUILDNUM=""
LABEL commit="$COMMIT" version="$VERSION" buildnum="$BUILDNUM"