使用 Docker 部署 Golang 程序
Docker 是部署 Golang 应用程序的绝佳方式,它可以确保环境一致性并简化部署流程。以下是完整的指南:
1. 准备 Golang 应用程序
首先确保你的 Go 应用程序可以正常构建和运行。一个简单的示例 main.go
:
package mainimport ("fmt""net/http"
)func handler(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "Hello, Dockerized Go App!")
}func main() {http.HandleFunc("/", handler)fmt.Println("Server running on port 8080...")http.ListenAndServe(":8080", nil)
}
2. 创建 Dockerfile
在项目根目录创建 Dockerfile
(无扩展名):
# 使用官方 Golang 镜像作为构建环境
FROM golang:1.21-alpine AS builder# 设置工作目录
WORKDIR /app# 复制 go.mod 和 go.sum 文件
COPY go.mod go.sum ./# 下载依赖
RUN go mod download# 复制源代码
COPY . .# 构建应用程序
RUN CGO_ENABLE