跳到內容
返回官網

容器編排(Compose)

當應用由多個服務組成(例如業務服務 + 資料庫 + 訊息佇列),使用編排檔案可以集中宣告它們的定義、依賴與執行方式。編排的執行由裝置代理程式統一完成——你在釋出中設定,裝置自動部署,無需在裝置上手工操作。

釋出中宣告編排設定(services + programs)
│
▼
裝置代理程式同步目標狀態 ──▶ 拉取映像 / 應用程式套件 ──▶ 建立並啟動服務 ──▶ 持續守護
│ │
│ ▼
└────────────────────────────── 版本更新 / 回復 ◀────── 異常自動重新啟動
  • 多服務的啟動順序、相依關係由裝置代理程式按編排宣告處理;
  • 服務異常退出自動重新啟動,裝置重新啟動後自動復原;
  • 版本升級與回復透過釋出管理,裝置代理程式自動執行。

以下為釋出中的編排設定(完整欄位說明見 docker-compose 相容與擴充):

version: "2.4"
services:
app:
image: myapp:1.0.0
restart: always
ports:
- "8080:80"
depends_on:
- db
db:
image: postgres:16
volumes:
- dbdata:/var/lib/postgresql/data
programs:
collector:
command: collector --config /data/collector.conf
restart: on-failure
volumes:
dbdata:

編排設定在建立釋出時填寫(支援編輯模式或上傳編排檔案),應用程式套件(容器映像 / 原生應用程式包)在釋出詳情中上傳。操作詳見:

  • 編排中的資料卷獨立於容器生命週期,容器重建、升級不影響資料;
  • 建議同時將關鍵資料掛載到裝置的資料分割區。
  • 編排支援基於 2.x 規範,主流編排檔案可直接使用;
  • 3.x 新增的欄位不在支援範圍內;
  • 完整的欄位與相容性說明見 docker-compose 相容與擴充。