如何使用 docker 部署 go 框架应用程序:创建 dockerfile,指定基础镜像、下载依赖项、设置工作目录、复制代码、构建应用程序和指定启动命令。构建 docker 镜像,将其命名为 "my-go-app"。运行容器,将容器端口 8080 映射到主机端口 8080。访问 http://localhost:8080 验证应用程序已部署并正在运行。
Go 框架的 Docker 化部署实战
Docker 是一种容器化平台,可简化应用程序的部署和管理。本文将指导你如何使用 Docker 容器化和部署 Go 框架应用程序。
先决条件
立即学习“go语言免费学习笔记(深入)”;
点击下载“硬件驱动修复工具,一键修复电脑鼠标、键盘、摄象头、麦克风等硬件问题”;
- 已安装 Go 和 Docker
- 已创建 Go 框架应用程序
步骤
1. 创建 Dockerfile
创建一个名为 Dockerfile 的文件,包含以下内容:
FROM golang:1.18-alpine3.15
RUN go mod download
WORKDIR /app
COPY . .
RUN go build -o main
CMD ["/app/main"]
- FROM 指定基础镜像
- RUN go mod download 下载依赖项
- WORKDIR 设置工作目录
- COPY 复制应用程序代码到容器
- RUN go build -o main 构建应用程序
- CMD 指定容器启动时运行的命令
2. 构建镜像
在应用程序目录中运行以下命令构建 Docker 镜像:
docker build -t my-go-app .
3. 运行容器
使用以下命令运行容器:
docker run -d -p 8080:8080 my-go-app
- -d 以守护模式运行容器
- -p 8080:8080 将容器端口 8080 映射到主机端口 8080
4. 验证部署
访问 http://localhost:8080 确认应用程序正在运行。
实战案例
以下是一个使用 Gin 框架的 Go 应用程序的 Docker 化部署示例:
gin_demo 目录结构:
.
├── Dockerfile
├── app.go
├── go.mod
└── main.go
Dockerfile:
# 使用 Alpine Golang 镜像
FROM golang:1.18-alpine3.16
# 设置工作目录
WORKDIR /app
# 复制应用程序代码和依赖项
COPY go.mod ./
RUN go mod download
COPY . ./
# 编译应用程序
RUN go build -o main
# 容器启动后运行命令
CMD ["./main"]
运行:
# 创建镜像
docker build -t gin_demo .
# 运行容器,端口映射到主机 8080
docker run -d -p 8080:8080 gin_demo
通过访问 http://localhost:8080,可以看到 Gin 应用程序正在运行。