Docker 部署Go的两种基础镜像的实现

Docker 部署Go的两种基础镜像的实现,第1张

Docker部署Go的两种基础镜像的实现

本文详细介绍了Docker部署Go的两个基本映像的完成。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。

Igolang:最新基础镜

mkdirgotest touchmain.go touchDockerfile

1.案例代码

packagemain import( "fmt" "log" "net/http" ) funcmain(){ http.HandleFunc("/",func(writerhttp.ResponseWriter,request*http.Request){ fmt.Fprint(writer,"HelloWorld") }) fmt.Println("3000!!") log.Fatal(http.ListenAndServe(":3000",nil)) }

2.Dockerfile配备了

#源镜像 FROMgolang:latest #设定工作中文件目录 WORKDIR$GOPATH/src/github.com/gotest #将网络服务器的go工程项目代码添加到docker容器中 ADD.$GOPATH/src/github.com/gotest #go搭建可执行程序 RUNgobuild. #曝露端口号 EXPOSE3000 #最后运作docker的指令 ENTRYPOINT["./gotest"]

3.打包图像

dockerbuild-tgotest.
  • golang:latestcompiler的整个流程其实就是在容器中构建一个go开发工具。
  • 这种源图像打包800M左右,比较大。
  • 二。阿尔卑斯:最新基础图

  • 应用这个镜像的整个过程是,在linux设备中,先把go程序流打包成二进制文件,然后扔到azain的自然环境中,编译好程序的文件。
  • 默认情况下,go的运行时系统变量cgo_ENABLED=1,即默认设置是开头的cgo,这样可以让你在Go代码中一直启用C代码。根据CGO_启用=0,禁止使用CGO。所以必须实现:CGO_启用=0去构建。
  • 这个基础形象包只有13M,特别小。
  • #源镜像 FROMalpine:latest #设定工作中文件目录 WORKDIR$GOPATH/src/github.com/common #将网络服务器的go工程项目代码添加到docker容器中 ADD.$GOPATH/src/github.com/common #曝露端口号 EXPOSE3002 #最后运作docker的指令 ENTRYPOINT["./common"]

    包装镜

    dockerbuild-tcommon.

    到目前为止,这篇关于完成DockerdeploymentGo的两个基本镜像的文章已经在这里详细介绍过了。有关DockerdeploymentGoimages的大量信息,请搜索您以前文章的内容或再次访问下面的相关文章。期待你以后的申请!

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/zz/774557.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存