我不是 docker 爱好者,但总的来说,Go 运行时已编译到您的二进制文件中,除此之外您什么都不需要。Go 映像包含 SDK,而不是运行时。仅当您想在容器中构建应用程序时,它才有用。否则你不需要它。从该图像的文档: The most straightforward way to use this image is to use a Go container as both the build and runtime environment.因此,也许只是在映像上构建源代码是 Docker 模式,或者这只是某些人从解释型语言中养成的习惯。就我个人而言,当我部署 Go 应用程序(不是通过 docker)时,我在 CI 机器上构建了一个工件,这就是我正在部署的,而不是源。