欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > 【Go - Docker 镜像:完整示例,5分钟搭个Go运行环境】

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

2024/10/24 10:17:59 来源:https://blog.csdn.net/qq_38428433/article/details/140967835  浏览:    关键词:【Go - Docker 镜像:完整示例,5分钟搭个Go运行环境】

原始代码参考

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

// main.go
package mainimport ("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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com