当人们用模块制作go应用程序的docker文件时,大多数人都是这样制作的。
COPY go.mod .
COPY go.sum .
RUN go mod download
COPY . .
RUN go build
Run Code Online (Sandbox Code Playgroud)
但是当我尝试下面的命令时,它也运行良好。
COPY . .
RUN go build
Run Code Online (Sandbox Code Playgroud)
那么,有什么区别呢?使用命令
有什么好处吗?go mod download
Go 1.11引入了该go mod download命令,该命令获取go.mod和go.sum文件并从中下载依赖项,而不是使用源代码。由于这些文件不会频繁更改(除非您正在更新依赖项),因此可以通过DockerfileCOPY中的命令简单地缓存它们。