构建golang docker应用部署
最简单的部署方式是拿生成的二进制文件直接构成镜像,但作者介绍的部署方式是镜像构建阶段使用源码自动编译成二进制文件的部署
1、使用go module包管理,并引入ehco
go mod init
go get -u github.com/labstack/echo
package main
import (
"net/http"
"github.com/labstack/echo"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello,World!")
})
e.Logger.Fatal(e.Start(":1234"))
}
2、编译可执行文件
CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o go-gin-example .
3、编写应用的dockerfile文件
FROM scratch
WORKDIR /
COPY . .
EXPOSE 1234
CMD ["./goapp"]
4、构建镜像
docker build -t xxx .
5、使用docker images
查看构建的镜像
docker images
6、运行镜像
docker run -p 8080:8080 xxx
有疑问加站长微信联系(非本文作者)