千家信息网

Docker部署Go基础镜像的实现方法

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了Docker部署Go基础镜像的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。一、 golang:latest 基础镜像mkdir gotestt
千家信息网最后更新 2026年10月31日Docker部署Go基础镜像的实现方法

这篇文章主要讲解了Docker部署Go基础镜像的实现方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

一、 golang:latest 基础镜像

mkdir gotesttouch main.gotouch Dockerfile

1. 实例代码

package mainimport (    "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))}

2. 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"]

3. 打包镜像

docker build -t gotest .
  • golang:latest 编译过程,其实就是在容器内,构建了一个go开发环境
  • 这种源镜像打包大概800M左右,比较大。

二、 alpine:latest 基础镜像

  1. 使用此镜像大概过程就是,在linux机器,先把go程序打包成二进制文件,再丢到apine环境,执行编译好的文件。
  2. 默认情况下,Go的runtime环境变量CGO_ENABLED=1,即默认开始cgo,允许你在Go代码中调用C代码。通过设置CGO_ENABLED=0就禁用CGO了。所以需要执行:CGO_ENABLED=0 go build .即可。
  3. 此基础镜像打包只有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部署Go基础镜像的实现方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。

镜像 基础 代码 内容 容器 文件 环境 方法 命令 就是 工程 服务器 目录 端口 过程 学习 工作 服务 编译 运行 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 互联网科技有限公司图片 互联网扶贫科技 合肥互联网科技公司 顺玮阁互联网科技 郑州华宇互联网科技 互联网金融 科技创新 互联网科技公司有哪些 新华互联网科技校企合作 济南和联互联网科技有限公司 互联网和高科技公司 成都互联网科技公司100强 南山科技园互联网公司有哪些 互联网科技创新服务 健康食品互联网创新科技园项目 玉溪新华互联网科技好不好 产业互联网科技服务公司 广西泛欧互联网科技有限公司 科技互联网专业工作会议发言稿 上海旺乐尼互联网科技有限公司 中国互联网科技股 科技创新与互联网经济 礼当家互联网科技 互联网汽车科技小镇 西藏七维空间互联网科技有限公司 青岛中康互联网医疗科技有限公司 科技与互联网哪个更好 互联网和黑科技的看法 合肥互联网科技公司公章图片 宁波跨境商互联网科技有限公司
0