如何使用 Docker 部署一个 Go 应用?

推荐答案

-- -------------------- ---- -------
- -- ------- -- --
- -------
------- ----

------ -
    -----
    ----------
-

---- --------- -------------------- - -------------- -
    -------------- ------- --------
-

---- ------ -
    -------------------- --------
    ---------------------------- ----
-

- -- -- ----------
- ----------
---- ------------------

------- ----

---- - -

--- -- ----- -- ---- -

------ ----

--- ----------

- -- -- ------ --
------ ----- -- --------- -

- -- -- ------ --
------ --- -- --------- ---------

本题详细解读

1. 编写 Go 应用

首先,你需要编写一个简单的 Go 应用。这个应用会监听 8080 端口,并在访问根路径时返回 "Hello, World!"。

2. 创建 Dockerfile

接下来,你需要创建一个 Dockerfile 来定义如何构建 Docker 镜像。Dockerfile 的内容如下:

  • FROM golang:1.19-alpine:使用官方的 Go 1.19 镜像作为基础镜像,基于 Alpine Linux,体积较小。
  • WORKDIR /app:设置工作目录为 /app
  • COPY . .:将当前目录下的所有文件复制到容器的 /app 目录。
  • RUN go build -o main .:在容器中编译 Go 应用,生成可执行文件 main
  • EXPOSE 8080:暴露 8080 端口,允许外部访问。
  • CMD ["./main"]:设置容器启动时执行的命令,即运行编译后的 Go 应用。

3. 构建 Docker 镜像

使用 docker build 命令构建 Docker 镜像。-t my-go-app 参数指定镜像的名称为 my-go-app

4. 运行 Docker 容器

使用 docker run 命令运行 Docker 容器。-p 8080:8080 参数将容器的 8080 端口映射到主机的 8080 端口,这样你就可以通过 http://localhost:8080 访问 Go 应用。

通过以上步骤,你就可以成功使用 Docker 部署一个简单的 Go 应用了。

纠错
反馈