From 0b663956f11c5d738cda9cfb48580ab22b864441 Mon Sep 17 00:00:00 2001 From: Chris Crone Date: Wed, 26 Jul 2023 19:14:47 -0400 Subject: [PATCH] develop: Update multi-stage example to use go mod (#17829) Signed-off-by: Chris Crone --- develop/develop-images/dockerfile_best-practices.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/develop/develop-images/dockerfile_best-practices.md b/develop/develop-images/dockerfile_best-practices.md index d68701e8d0..b14207a4b8 100644 --- a/develop/develop-images/dockerfile_best-practices.md +++ b/develop/develop-images/dockerfile_best-practices.md @@ -237,19 +237,18 @@ A Dockerfile for a Go application could look like: ```dockerfile # syntax=docker/dockerfile:1 -FROM golang:1.16-alpine AS build +FROM golang:{{site.example_go_version}}-alpine AS build # Install tools required for project # Run `docker build --no-cache .` to update dependencies RUN apk add --no-cache git -RUN go get github.com/golang/dep/cmd/dep -# List project dependencies with Gopkg.toml and Gopkg.lock +# List project dependencies with go.mod and go.sum # These layers are only re-built when Gopkg files are updated -COPY Gopkg.lock Gopkg.toml /go/src/project/ WORKDIR /go/src/project/ +COPY go.mod go.sum /go/src/project/ # Install library dependencies -RUN dep ensure -vendor-only +RUN go mod download # Copy the entire project and build it # This layer is rebuilt when a file changes in the project directory