使用scratch构建最小化Go程序的docker image
由于Golang编译之后的文件是二进制,而scratch是docker最基础的空image,所以可以使用scratch来构建Go程序的docker image,使得最终构建的image最小化. 构建image过程分为两步: 在Go基础image中build. 将build好的二进制文件拷贝到scratch image中。 无需cgo的程序 对于无需cgo交叉编译的程序,使用scratch来作为最终运行的基础image非常合适。 首先,选择合适版本的golang基础image来build,这里没有必要选择更小的golang alpine,build过程中pull一般会有缓存所以pull速度差别不大,此外alpine中没有git和ssl,我们在构建image过程中都有可能用到,况且alpine也...阅读全文