跳到內容

Docker 部署

如果你的應用已經有 Docker 映像,或你想使用自訂的 Dockerfile 完全掌控建置過程,Docker 部署是最直接的選擇。

你可以直接使用 Docker Hub 或其他公開映像倉庫中的映像:

  1. 在 Piora 控制面板建立新應用
  2. 選擇「Docker 映像」作為部署來源
  3. 輸入映像名稱與標籤
Terminal window
# 映像名稱範例
nginx:alpine
node:20-alpine
postgres:16
ghost:5-alpine

Piora 支援連接私有映像倉庫:

在應用設定中新增 Docker Hub 認證:

  • 使用者名稱 — 你的 Docker Hub 帳號
  • 密碼/Token — Docker Hub 存取 Token
ghcr.io/your-org/your-image:latest

需要提供 GitHub Personal Access Token(具有 read:packages 權限)。

支援任何符合 Docker Registry API v2 的私有倉庫:

registry.example.com/your-image:latest

部署 Docker 映像時,你需要指定應用監聽的連接埠:

設定項說明範例
容器埠應用在容器內監聽的埠3000
協定HTTP 或 TCPHTTP

Traefik 會自動將外部流量路由到指定的容器埠,你不需要手動設定埠映射。

在控制面板中為容器設定環境變數:

Terminal window
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@db:5432/app
REDIS_URL=redis://redis:6379
SECRET_KEY=your-secret-key

Docker 容器預設是無狀態的,容器重啟後資料會遺失。如果你的應用需要持久化資料:

  1. 在應用設定中新增「Volume」
  2. 指定容器內的掛載路徑
# 範例:掛載資料目錄
容器路徑: /app/data
Volume 名稱: my-app-data

你可以設定健康檢查,確保容器正常運行後才接收流量:

  • 檢查路徑 — HTTP 端點(例如 /health
  • 檢查間隔 — 每次檢查的間隔時間
  • 逾時時間 — 等待回應的最長時間
  • 重試次數 — 連續失敗幾次後視為不健康

當你需要更新到新版映像時:

  1. 更新映像標籤(如果使用固定版本)
  2. 在控制面板中點選「重新部署」
  3. Piora 會拉取最新映像並執行滾動更新

如果使用 latest 標籤,點選重新部署時會自動拉取最新版本。