From 6b60d6834463ef4573f1a702a058cb47b72db7df Mon Sep 17 00:00:00 2001 From: EXEC Date: Tue, 3 May 2022 17:17:24 +0800 Subject: [PATCH] docker: speed up docker image build (#24796) This PR improves the docker build speed for repeated builds where go.mod and go.sum do no change, by placing the downloaded dependencies in a lower layer --- Dockerfile | 5 +++++ Dockerfile.alltools | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/Dockerfile b/Dockerfile index ec46f60773..70299190f9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,6 +8,11 @@ FROM golang:1.18-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 /go-ethereum/ +COPY go.sum /go-ethereum/ +RUN cd /go-ethereum && go mod download + ADD . /go-ethereum RUN cd /go-ethereum && go run build/ci.go install ./cmd/geth diff --git a/Dockerfile.alltools b/Dockerfile.alltools index 683f87a55e..b11492cabc 100644 --- a/Dockerfile.alltools +++ b/Dockerfile.alltools @@ -8,6 +8,11 @@ FROM golang:1.18-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 /go-ethereum/ +COPY go.sum /go-ethereum/ +RUN cd /go-ethereum && go mod download + ADD . /go-ethereum RUN cd /go-ethereum && go run build/ci.go install