站長資訊網
        最全最豐富的資訊網站

        docker部署go的兩種基礎鏡像

        docker部署go的兩種基礎鏡像

        一、 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

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品卡一卡二卡乱码高清| 99re国产精品视频首页| 99精品一区二区三区无码吞精| 国产成人精品a视频一区| 国产亚洲精品无码成人| 欧美亚洲精品中文字幕乱码免费高清 | 中文字幕精品无码一区二区三区| 国产精品美女WWW爽爽爽视频| 国产成人精品优优av| 一色屋精品视频在线观看| 久久国产精品免费一区二区三区 | 潮喷大喷水系列无码久久精品| 亚洲国产精品成人| 久久国产精品波多野结衣AV| 国产精品偷伦视频免费观看了 | 无码国内精品人妻少妇| 午夜三级国产精品理论三级| 国产一区二区精品尤物| 国产A∨免费精品视频| 亚洲国产精品久久久久婷婷软件| 精品亚洲一区二区| 国产精品一久久香蕉国产线看 | 91精品国产91久久久久福利| 国产最新进精品视频| 久久丫精品国产亚洲av| 亚洲精品成人网站在线观看 | 综合人妻久久一区二区精品| 日韩精品欧美亚洲| 少妇亚洲免费精品| 污污网站国产精品白丝袜| 日批日出水久久亚洲精品tv| 香港三级精品三级在线专区| 无码乱码观看精品久久| 午夜国产精品无套| 亚洲人成电影网站国产精品| 伊人久久大香线蕉精品不卡| 中文字幕精品亚洲无线码一区| 无码国产69精品久久久久网站| 人妻少妇精品视频二区| 国产精品亚洲精品日韩已满| 国产精品久久成人影院|