构建golang docker应用部署

无电不音乐 · · 389 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

构建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

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:无电不音乐

查看原文:构建golang docker应用部署

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

389 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传