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

        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號
        主站蜘蛛池模板: 精品999久久久久久中文字幕| 精品国内片67194| 97精品国产91久久久久久| 日本五区在线不卡精品| 色综合久久综精品| 国产午夜精品久久久久免费视 | 99在线精品一区二区三区| 久久久久99精品成人片牛牛影视| 青青草精品视频| 国产精品免费看久久久| 亚洲爆乳精品无码一区二区三区| 欧美精品免费专区在线观看| 国产色精品vr一区区三区| 91精品婷婷国产综合久久| 国产精品高清视亚洲精品| 国产女主播精品大秀系列| 日韩欧精品无码视频无删节| 亚洲精品欧美精品日韩精品| 久久精品无码专区免费| 国产精品美女久久久久AV福利| 亚洲综合精品一二三区在线| 青青草原综合久久大伊人精品| 国产精品中文字幕在线观看| 99久久人妻无码精品系列| 国产在线精品免费aaa片| 精品欧洲av无码一区二区三区 | 亚洲精品高清久久| 久久久久免费精品国产| 精品九九久久国内精品| 精品国产美女福利到在线不卡| 国产99re在线观看只有精品| 97热久久免费频精品99| 大伊香蕉精品视频在线导航| 99精品一区二区三区无码吞精| 6一12呦女精品| 精品国产欧美另类一区| 青青草国产精品| 国产精品亚洲综合专区片高清久久久| 国产精品免费一区二区三区| 久久久久99精品成人片牛牛影视| 亚洲精品国产V片在线观看 |