用 Go 语言开发的程序打包后就一个可执行的二进制文件,一般情况下是不需要什么环境依赖就能执行运行跑起来,如果拿到 Docker 里面跑,是非常有优势的。
现在都 2021 年了,啥都喜欢搞微服务、分布式概念,今天咱们迈出第一步,先把自己的 Go 程序打包成镜像后期再更怎么上传到阿里云的私有仓库里面。
这里我们将会使用到分阶段构建镜像,来减小我们最后输出的镜像大小。
编写程序
这里我就快速用 Gin 写一个服务:
这里我们会用到 go mod,使用它来安装 Gin 依赖,命令如下:
go get github.com/gin-gonic/gin
然后就是写服务代码了:
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
r := gin.New()
r.Handle("GET","/", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{"code": 200})
})
r.Run(":80")
}
跑起来大概是这样的,这里我们就不去处理异常等细节的: