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