在CentOS上使用Docker進行Golang項目的容器化部署是一個常見且高效的方法。以下是詳細的步驟:
安裝Docker: 首先,確保在CentOS系統上安裝了Docker??梢允褂靡韵旅畎惭bDocker:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
編寫Dockerfile:
創建一個名為 Dockerfile
的文件,內容如下:
# 使用官方的Go鏡像作為基礎鏡像
FROM golang:1.18 AS builder
# 設置工作目錄
WORKDIR /app
# 復制項目文件
COPY . .
# 編譯項目
RUN CGO_ENABLED=0 go build -o myapp .
# 使用一個輕量級的鏡像作為運行環境
FROM scratch
# 將編譯好的二進制文件復制到運行環境中
COPY --from=builder /app/myapp /myapp
# 指定容器啟動時運行的命令
ENTRYPOINT ["/myapp"]
構建Docker鏡像: 在項目目錄下執行以下命令來構建Docker鏡像:
docker build -t myapp:latest .
運行Docker容器: 構建完成后,可以使用以下命令運行Docker容器:
docker run -p 8080:8080 myapp:latest
驗證部署:
打開瀏覽器,訪問 http://localhost:8080
,你應該會看到你的應用正在運行并返回“Hello, Docker!”。
通過這些步驟,你可以將Golang應用程序成功容器化并在CentOS上運行。