推荐答案
-- -------------------- ---- ------- - -- ------- -- -- - ------- ------- ---- ------ - ----- ---------- - ---- --------- -------------------- - -------------- - -------------- ------- -------- - ---- ------ - -------------------- -------- ---------------------------- ---- - - -- -- ---------- - ---------- ---- ------------------ ------- ---- ---- - - --- -- ----- -- ---- - ------ ---- --- ---------- - -- -- ------ -- ------ ----- -- --------- - - -- -- ------ -- ------ --- -- --------- ---------
本题详细解读
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 应用了。