百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> docker部署go的两种根基镜像
分享文章到:

docker部署go的两种根基镜像

发布时间:09/01 来源:未知 浏览: 关键词:

一、 golang:latest 根基镜像

mkdir gotest
touch main.go
touch Dockerfile

示例代码:

package main

import (
    "fmt"
    "log"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
        fmt.Fprint(writer, "Hello World")
    })
    fmt.Println("3000!!")
    log.Fatal(http.ListenAndServe(":3000", nil))
}

Dockerfile配置

#源镜像
FROM golang:latest
#设定工作名目
WORKDIR $GOPATH/src/github.com/gotest
#将效劳器的go工程代码参加到docker容器中
ADD . $GOPATH/src/github.com/gotest
#go构建可施行文件
RUN go build .
#显露端口
EXPOSE 3000
#终究运转docker的命令
ENTRYPOINT ["./gotest"]

打包镜像

docker build -t gotest .

golang:latest 编译历程,其实就是在容器内,构建了一个go开发环境这种源镜像打包大约800M摆布,比力大。

二、 alpine:latest 根基镜像

  • 使用此镜像大约历程就是,在linux机器,先把go程序打包成二进制文件,再丢到apine环境,施行编译好的文件。

  • 默许状况下,Go的runtime环境变量CGO_ENABLED=1,即默许开端cgo,同意你在Go代码中调取C代码。通过设定CGO_ENABLED=0就禁用CGO了。所以需要施行:CGO_ENABLED=0 go build .即可。

  • 此根基镜像打包只要13M,特殊小。

#源镜像
FROM alpine:latest
#设定工作名目
WORKDIR $GOPATH/src/github.com/common
#将效劳器的go工程代码参加到docker容器中
ADD . $GOPATH/src/github.com/common
#显露端口
EXPOSE 3002
#终究运转docker的命令
ENTRYPOINT ["./common"]

打包镜像:

docker build -t common .

引荐教程:docker

以上就是docker摆设go的两种根基镜像的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板