美文网首页
【Go - Docker 镜像:完整示例,5分钟搭个Go运行环境

【Go - Docker 镜像:完整示例,5分钟搭个Go运行环境

作者: wn777 | 来源:发表于2024-08-05 22:14 被阅读0次

原始代码参考

简单起见,就是一个 myapp 文件夹,里面有一个main.go的文件 和 其对应的Dockerfile,

// main.go
package main

import (
    "github.com/gin-gonic/gin"
)

func main() {
    // 创建一个 CredentialsValidator 实例

    // 创建一个 http.Request 实例
    // req := http.Request{}
    // 调用 auth 方法

    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "hello world",
        })
    })
    r.Run() // 默认在8080端口监听
}

Dockerfile

FROM golang:1.22.5 AS build

# 设置工作目录
WORKDIR /app

# 1,安装依赖包
RUN go mod init myapp-go
RUN go get github.com/gin-gonic/gin@v1.10.0
RUN go get github.com/redis/go-redis/v9@v9.6.0
RUN go get go.mongodb.org/mongo-driver@v1.16.0
# 2,拷贝代码
COPY . /app
# 3,编译代码
RUN cd /app
RUN go build main.go

# 4,暴露端口
EXPOSE 8080

# 5,容器启动时, 运行程序
ENTRYPOINT ["/app/main"]

编译

进入到myapp目录下

docker build -t myapp-go:latest . 

启动并进入

docker run --name myapp-container -p 8080:8080 -it myapp-go:latest

相关文章

网友评论

      本文标题:【Go - Docker 镜像:完整示例,5分钟搭个Go运行环境

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