美文网首页
golang源码生成docker镜像

golang源码生成docker镜像

作者: 写个代码容易么 | 来源:发表于2020-04-23 21:30 被阅读0次

    使用gin创建一个简单的api服务,代码如下:

    package main
    
    import "github.com/gin-gonic/gin"
    
    func main() {
        r := gin.Default()
        r.GET("/ping", func(c *gin.Context) {
            c.JSON(200, gin.H{
                "message": "pong",
            })
        })
        r.GET("/version", func(c *gin.Context) {
            c.String(200, "v1.0")
        })
        r.Run() // listen and serve on 0.0.0.0:8080
    }
    

    同时在项目根目录创建Dockerfile文件

    FROM golang:alpine as dev
    WORKDIR /
    COPY *.mod .
    COPY *.go .
    RUN go env -w GO111MODULE=on
    RUN go env -w GOPROXY=https://goproxy.cn,direct
    RUN go build -o apiservice
    
    FROM alpine:latest as prod
    MAINTAINER dev
    WORKDIR /
    COPY --from=dev /apiservice .
    EXPOSE 8080
    ENTRYPOINT ["/apiservice"]
    

    项目结构如下:


    apiservice.png

    使用docker build -t apiservice .即可生成本地镜像

    相关文章

      网友评论

          本文标题:golang源码生成docker镜像

          本文链接:https://www.haomeiwen.com/subject/momzihtx.html