go-zero 框架入门:Docker 镜像构建与服务部署

date
Apr 25, 2024
slug
go-zero-docker-build-deployment-guide
status
Published
tags
Go
summary
使用 go-zero 工具链构建 Docker 镜像并部署服务的详细步骤
type
Post
go-zero 官方文档提供了借助 goctl docker 命令生成 Dockerfile 的教程,本文整理了更为详细的操作步骤和代码解释。

1. 生成 Dockerfile 文件

在项目根目录下执行:
  • -go user.go 参数指定了要编译的 Go 源文件为 user.go
  • -exe user 参数指定了生成的可执行文件名为 user
  • 执行此命令后,会在当前目录下生成一个名为 Dockerfile 的文件,该文件包含了构建 Docker 镜像的指令。

2. 查看 Dockerfile 文件

3. 拉取 go 依赖

执行下面命令拉取 go 依赖:

4. 生成镜像

在项目根目录下(上一步的 Dockerfile 所在目录),执行 docker build 命令,生成镜像
  • t hello:v1 参数为构建的镜像指定了一个标签,这里标签是 hello,版本是 v1。在 Docker 中,标签用于区分同一个仓库的不同版本。
  • . 表示当前目录,Docker 会查找当前目录下的 Dockerfile 并根据它来构建镜像。

5. 启动服务

  • -rm 参数告诉 Docker,在容器退出时自动删除容器。这有助于保持环境的整洁,因为不需要手动删除容器。
  • it 参数组合让 Docker 提供一个交互式的终端。i 表示交互式,允许你向容器的标准输入流输入数据;t 分配一个伪终端,让 Docker 容器可以运行需要交互的程序。
  • p 8888:8888 参数用于端口映射,将主机的 8888 端口映射到容器的 8888 端口。这意味着,当你访问主机的 8888 端口时,实际上是访问容器内部的 8888 端口。
  • user:v1 是要运行的镜像的名称和标签,对应于之前构建的镜像。
 

© Cheney Wang 2024