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的大量信息,请搜索您以前文章的内容或再次访问下面的相关文章。期待你以后的申请!
评论列表(0条)