Docker 部署
如果你的應用已經有 Docker 映像,或你想使用自訂的 Dockerfile 完全掌控建置過程,Docker 部署是最直接的選擇。
使用公開映像
Section titled “使用公開映像”你可以直接使用 Docker Hub 或其他公開映像倉庫中的映像:
- 在 Piora 控制面板建立新應用
- 選擇「Docker 映像」作為部署來源
- 輸入映像名稱與標籤
# 映像名稱範例nginx:alpinenode:20-alpinepostgres:16ghost:5-alpine使用私有映像倉庫
Section titled “使用私有映像倉庫”Piora 支援連接私有映像倉庫:
Docker Hub 私有倉庫
Section titled “Docker Hub 私有倉庫”在應用設定中新增 Docker Hub 認證:
- 使用者名稱 — 你的 Docker Hub 帳號
- 密碼/Token — Docker Hub 存取 Token
GitHub Container Registry (GHCR)
Section titled “GitHub Container Registry (GHCR)”ghcr.io/your-org/your-image:latest需要提供 GitHub Personal Access Token(具有 read:packages 權限)。
自架 Registry
Section titled “自架 Registry”支援任何符合 Docker Registry API v2 的私有倉庫:
registry.example.com/your-image:latest部署 Docker 映像時,你需要指定應用監聽的連接埠:
| 設定項 | 說明 | 範例 |
|---|---|---|
| 容器埠 | 應用在容器內監聽的埠 | 3000 |
| 協定 | HTTP 或 TCP | HTTP |
Traefik 會自動將外部流量路由到指定的容器埠,你不需要手動設定埠映射。
在控制面板中為容器設定環境變數:
NODE_ENV=productionDATABASE_URL=postgresql://user:pass@db:5432/appREDIS_URL=redis://redis:6379SECRET_KEY=your-secret-keyDocker 容器預設是無狀態的,容器重啟後資料會遺失。如果你的應用需要持久化資料:
- 在應用設定中新增「Volume」
- 指定容器內的掛載路徑
# 範例:掛載資料目錄容器路徑: /app/dataVolume 名稱: my-app-data你可以設定健康檢查,確保容器正常運行後才接收流量:
- 檢查路徑 — HTTP 端點(例如
/health) - 檢查間隔 — 每次檢查的間隔時間
- 逾時時間 — 等待回應的最長時間
- 重試次數 — 連續失敗幾次後視為不健康
當你需要更新到新版映像時:
- 更新映像標籤(如果使用固定版本)
- 在控制面板中點選「重新部署」
- Piora 會拉取最新映像並執行滾動更新
如果使用 latest 標籤,點選重新部署時會自動拉取最新版本。