Docker Compose 發行說明

如需更詳細的資訊,請參閱 Compose 儲存庫中的發行說明

2.39.2

2025-08-04

錯誤修正與增強功能

  • 修正構建輸出中的多項渲染問題
  • 修正使用 bake 時無法套用 pullno_cache 屬性的問題
  • 移除執行 up 指令時顯示未明確附加服務的日誌

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.3.3
  • 依賴更新:將 golang 升級至 v1.23.12
  • 依賴更新:將 containerd 升級至 2.1.4

2.39.1

2025-07-24

錯誤修正與增強功能

  • 新增用於監控 models 使用情況的指標

更新

  • 依賴更新:將 compose-go 升級至 v2.8.1

2.39.0

2025-07-24

錯誤修正與增強功能

  • config 指令新增 --models 旗標以列出模型
  • events 新增 --since--until 旗標
  • build 區段中引入 provenancesbom 屬性
  • 修正 Windows 上的 bridge convert 問題
  • 修正 bake 構建的多項問題

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.3.2
  • 依賴更新:將 buildx 升級至 v0.26.1
  • 依賴更新:將 compose-go 升級至 v2.8.0

2.38.2

2025-07-08

錯誤修正與增強功能

  • config 指令新增 --networks 旗標以列出網路
  • 修正將 Docker Model Runner 作為提供者服務使用時,down 指令發生的問題
  • 修正 Docker Model Runner 進度顯示問題
  • 修正設定檔中缺少機密 (secrets) 的服務問題

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.3.1
  • 依賴更新:將 buildkit 升級至 v0.23.2
  • 依賴更新:將 golang 升級至 v1.23.10

2.38.1

2025-06-30

錯誤修正與增強功能

  • 新增對服務 models 設定的 model_variable 支援

更新

  • 依賴更新:將 compose-go 升級至 v2.7.1

2.38.0

2025-06-30

錯誤修正與增強功能

  • 引入對 LLM 設定中 models 的支援
  • 新增 volumes 指令
  • 移除綁定掛載 (bind mounts) 的 publish 限制
  • 修正將 docker socket 掛載到不需要它的容器的問題
  • 修正 bake 在輸出時卡住的問題

更新

  • 依賴更新:將 compose-go 升級至 v2.7.0
  • 依賴更新:將 docker engine 和 cli 升級至 v28.3.0

2.37.3

2025-06-24

錯誤修正與增強功能

  • 新增對 Bake 的 cache_to 支援
  • 修正 Bake 整合問題
  • 修正影響 run 指令的多項問題

更新

  • 依賴更新:將 buildkit 升級至 v0.23.1

2.37.2

2025-06-20

錯誤修正與增強功能

  • 引入 use_api_socket
  • 修正 compose images 的 JSON 輸出格式
  • 修正沒有監控支援的專案中使用 w 捷徑時造成的崩潰 (panic)
  • 修正 Windows 上 bake 中繼資料檔案的權限問題
  • 修正提供者服務啟動時造成的崩潰錯誤

更新

  • 依賴更新:將 compose-go 升級至 v2.6.5
  • 依賴更新:將 buildx 升級至 v0.25.0
  • 依賴更新:將 buildkit 升級至 v0.23.0

2.37.1

2025-06-12

錯誤修正與增強功能

  • 修正 Windows 上 bake 中繼資料檔案的權限問題
  • 修正提供者服務啟動時造成的崩潰錯誤
  • compose images 的 JSON 輸出恢復為陣列格式

2.37.0

2025-06-05

錯誤修正與增強功能

  • 修正隨機連接埠分配的問題
  • 修正內部迴圈中不必要地重建容器的問題
  • 修正 up --build 使用 additional_context 時的問題

更新

  • 依賴更新:將 compose-go 升級至 v2.6.4
  • 依賴更新:將 buildx 升級至 v0.24.0
  • 依賴更新:將 buildkit 升級至 v0.22.0

2.36.2

2025-05-23

錯誤修正與增強功能

  • Compose Bridge 功能現已整合進 Compose
  • 改進 docker compose images 指令的顯示
  • bake 提升為 Compose 的預設構建工具
  • 修正與構建流程相關的問題
  • 修正 watch 重建映像後依賴服務的重啟問題

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.2.2

2.36.1

2025-05-19

錯誤修正與增強功能

  • 引入對 provider 服務 options 屬性的陣列支援
  • 在擴充功能協定中加入 debug 訊息
  • 修正嘗試發佈具有 provider 服務的 Compose 應用程式時發生的問題
  • 修正具有 service.provider 的 Compose 應用程式構建問題
  • config 指令引入 --lock-image-digests

更新

  • 依賴更新:將 compose-go 升級至 v2.6.3
  • 依賴更新:將 containerd 升級至 2.1.0

2.36.0

2025-05-07

錯誤修正與增強功能

  • 引入 networks.interface_name
  • 新增對 COMPOSE_PROGRESS 環境變數的支援
  • 為外部二進位檔案新增 service.provider
  • 引入構建 --check 旗標
  • 修正解析 Compose 檔案時的多項崩潰問題

更新

  • 依賴更新:將 compose-go 升級至 v2.6.2
  • 依賴更新:將 docker engine 和 cli 升級至 v28.1.0
  • 依賴更新:將 containerd 升級至 2.0.5
  • 依賴更新:將 buildkit 升級至 v0.21.1

2.35.1

2025-04-17

錯誤修正與增強功能

  • 修正綁定掛載相關的問題

更新

  • 依賴更新:將 compose-go 升級至 v2.6.0
  • 依賴更新:將 docker engine 和 cli 升級至 v28.0.4
  • 依賴更新:將 buildx 升級至 v0.22.0

2.35.0

2025-04-10

錯誤修正與增強功能

  • 新增對 Docker Model Runner 的支援,可輕鬆將 AI 模型整合到您的 Compose 應用程式中
  • 新增 build --print 指令,透過顯示對應的 bake 檔案來協助偵錯複雜的構建設定
  • 新增 volume.type=image 以提供更彈性的容器映像磁碟區管理
  • run 指令新增 --quiet 選項,在執行容器時可獲得更乾淨的輸出
  • 新增 config --no-env-resolution 選項以查看未進行環境變數替換的原始設定
  • 修正 depends_on 的行為,防止在依賴項變更時不必要地重建容器
  • 修正使用 include 時,由環境變數定義的機密支援問題
  • 修正磁碟區掛載處理,確保綁定掛載在所有場景下都能正確運作

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.1.0
  • 依賴更新:將 buildx 升級至 v0.23.0
  • 依賴更新:將 buildkit 升級至 v0.21.0

2.34.0

2025-03-14

錯誤修正與增強功能

  • 新增對重新整理 pull_policydailyweeklyevery_<duration> 的支援
  • watch 定義中引入 include 屬性以匹配檔案模式
  • docker compose run 指令的旗標中引入 --env-from-file
  • publish 提升為 Compose 的常規指令
  • 修正服務選取後載入 env_file 的錯誤

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.0.1
  • 依賴更新:將 buildkit 升級至 v0.17.1
  • 依賴更新:將 compose-go 升級至 v2.4.9
  • 依賴更新:將 buildx 升級至 v0.21.2

2.33.1

2025-02-21

錯誤修正與增強功能

  • 新增對 gw_priorityenable_ipv4 的支援(需要 Docker v28.0)
  • 修正導航選單的問題
  • 改進使用唯讀服務且非檔案機密/設定時的錯誤訊息

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v28.0.0

2.33.0

2025-02-13

錯誤修正與增強功能

  • 引入建議使用 Bake 的提示
  • 引入對參考其他服務的 additional_context 屬性的支援
  • 新增對 BUILDKIT_PROGRESS 的支援
  • 當已發佈的 Compose 應用程式包含環境變數時,Compose 現在會發出警告
  • 新增 --with-env 旗標以發佈帶有環境變數的 Compose 應用程式
  • 更新 ls --quiet 說明描述
  • 修正將構建委派給 Bake 時的多項問題
  • 更新 stats 指令的說明
  • 修正對「內建」seccomp 設定檔的支援
  • 修正對多個服務 watch 的支援
  • 移除舊有指標系統使用的每種錯誤類型的退出代碼
  • 修正 compatibility 的測試覆蓋率
  • 移除發送到 OpenTelemetry 的原始 os.Args
  • 啟用 copyloopvar linter
  • 修正二進位檔案的 provenance 並產生 SBOM
  • 現在使用 docs 上游驗證的主分支
  • 新增 codeowners 檔案
  • 將 Docker Engine v28.x 加入測試矩陣

更新

  • 依賴更新:將 compose-go 升級至 v2.4.8
  • 依賴更新:將 buildx 升級至 v0.20.1
  • 依賴更新:將 docker 升級至 v27.5.1
  • 依賴更新:將 golangci-lint 升級至 v1.63.4
  • 依賴更新:將 golang.org/x/sys 從 0.28.0 升級至 0.30.0
  • 依賴更新:將 github.com/moby/term 升級至 v0.5.2
  • 依賴更新:將 github.com/otiai10/copy 從 1.14.0 升級至 1.14.1
  • 依賴更新:將 github.com/jonboulle/clockwork 從 0.4.0 升級至 0.5.0
  • 依賴更新:將 github.com/spf13/pflag 從 1.0.5 升級至 1.0.6
  • 依賴更新:將 golang.org/x/sync 從 0.10.0 升級至 0.11.0
  • 依賴更新:將 gotest.tools/v3 從 3.5.1 升級至 3.5.2

2.32.4

2025-01-16

錯誤修正與增強功能

  • 修正使用 docker compose version 時 Compose 版本無法正確顯示的問題

2.32.3

2025-01-13
注意

來自 Compose GitHub 儲存庫的二進位檔案可能無法正確顯示版本號。如果您在開發或 CI 流程中依賴 docker compose version,請升級至 Compose 版本 2.32.4。

錯誤修正與增強功能

  • 修正 Compose 使用主網路 MAC 位址覆蓋服務級別 MAC 位址的問題
  • 修正並行構建期間的日誌渲染問題

2.32.2

2025-01-07

更新

  • 依賴更新:將 compose-go 升級至 v2.4.7
  • 依賴更新:將 golang 升級至 v1.22.10

錯誤修正與增強功能

  • docker compose run 指令新增 --pull 旗標
  • 修正 watch 模式的 restart 動作未監控綁定掛載的錯誤
  • 修正使用匿名磁碟區時重建容器的問題

2.32.1

2024-12-16

錯誤修正與增強功能

  • 修正不必要時重建容器的錯誤

2.32.0

2024-12-13

更新

  • 依賴更新:將 docker + buildx 升級至最新發行版本
  • 依賴更新:將 otel 依賴項升級至 v1.28.0 和 v0.53.0
  • 依賴更新:將 golang.org/x/sys 升級至 0.28.0
  • 依賴更新:將 golang.org/x/crypto 升級至 0.31.0
  • 依賴更新:將 google.golang.org/grpc 升級至 1.68.1
  • 依賴更新:將 golang.org/x/sync 升級至 0.10.0
  • 依賴更新:將 xx 升級至 v1.6.1

錯誤修正與增強功能

  • 改進使用 Bake 構建時的支援
  • 新增 restartsync+exec 監控動作
  • Compose 現在會在磁碟區或網路設定變更時重建容器
  • 修正對 mac_address 的支援
  • 修正 pull --quiet 只隱藏進度而非全域狀態的問題
  • 修正只有 rebuild 監控動作需要建置宣告的問題
  • Compose 現在會透過 Compose 選單啟用時記錄 watch 設定錯誤

2.31.0

2024-11-28

更新

  • 依賴更新:將 compose-go 升級至 v2.4.5
  • 依賴更新:將 docker engine 和 cli 升級至 v27.4.0-rc.2
  • 依賴更新:將 buildx 升級至 v0.18.0
  • 依賴更新:將 buildkit 升級至 v0.17.1

錯誤修正與增強功能

  • 新增使用 Docker Buildx Bake 建置 Docker Compose 服務的能力
  • 新增 commit 指令,從執行中的容器建立新映像
  • 修正未偵測到網路變更的問題
  • 修正容器依序停止導致重啟過程變慢的問題

2.30.3

2024-11-07

更新

  • 依賴更新:將 compose-go 升級至 v2.4.4

錯誤修正與增強功能

  • 修正使用 --watch 時重啟不該重啟的服務的問題
  • 改進在 Compose 檔案中多次使用相同 YAML 錨點的修正

2.30.2

2024-11-05

更新

  • 依賴更新:將 compose-go 升級至 v2.4.3

錯誤修正與增強功能

  • 修正更新服務設定檔時重建服務的問題
  • 修正 Compose 檔案中多次使用相同 YAML 錨點時的回歸問題

2.30.1

2024-10-30

更新

  • 依賴更新:將 compose-go 升級至 v2.4.2

錯誤修正與增強功能

  • 修正將 stdin 用作 -f 旗標輸入時的回歸問題
  • 修正 Compose 檔案中多次使用相同 YAML 錨點時的回歸問題

2.30.0

2024-10-29

更新

  • 依賴更新:將 compose-go 升級至 v2.4.1
  • 依賴更新:將 docker engine 和 cli 升級至 v27.3.1

錯誤修正與增強功能

  • 引入服務勾子 (hooks) 支援。
  • 新增 alpha 版 generate 指令。
  • 新增 export 指令。
  • 新增對在 Compose 檔案中使用 devices 進行 CDI 裝置請求的支援。
  • 大量錯誤修正。

2.29.7

2024-09-20

錯誤修正與增強功能

  • 修正使用掛載 API 進行綁定掛載時的回歸問題。

2.29.6

2024-09-19

更新

  • 依賴更新:將 docker engine 和 cli 升級至 v27.3.0-rc.2

錯誤修正與增強功能

  • 修正 Windows 容器綁定掛載的問題。

2.29.5

2024-09-17

錯誤修正與增強功能

  • 修正 WSL2 上綁定掛載的問題。

2.29.4

2024-09-16

更新

  • 依賴更新:將 buildx 升級至 v0.17.1
  • 依賴更新:將 docker engine 和 cli 升級至 v27.3.0-rc.1

錯誤修正與增強功能

  • 修正重啟發散的依賴項時服務未停止的問題。
  • 修正 OTEL 客戶端上的潛在 nil 指標錯誤。

2.29.3

2024-09-12

更新

  • 依賴更新:將 compose-go 升級至 v2.2.0
  • 依賴更新:將 docker engine 和 cli 升級至 v27.2.1

錯誤修正與增強功能

  • 現在允許將綁定掛載與 rebuild 結合使用 watch
  • 修正將 --no-depsup 一起使用時重建容器的錯誤。
  • 修正重新附加容器時未關閉串流的錯誤。
  • 恢復使用 -V--renew-anon-volumes 時重建匿名磁碟區的功能。

2.29.2

2024-08-16

更新

  • 依賴更新:將 compose-go 升級至 v2.1.6
  • 依賴更新:將 docker engine 和 cli 升級至 v27.1.2
  • 依賴更新:將 buildx 升級至 v0.16.2
  • 依賴更新:將 buildkit 升級至 v0.15.2
  • 依賴更新:將 golang 升級至 v1.21.12
  • 依賴更新:將 sys 升級至 v0.22.0
  • 依賴更新:將 flock 升級至 v0.12.1

錯誤修正與增強功能

  • 修正關於 docker compose kill 使用的說明文件。
  • 修正 build.go 中 toAPIBuildOptions 的多餘條件。
  • 修正 Compose 重啟後的初始 Watch sync,引入 x-initialSync
  • 修正導致單個容器的 Compose 處理程序在 sync-restart 監控動作上停止的問題。

2.29.1

2024-07-23

更新

  • 依賴更新:將 compose-go 升級至 v2.1.5。
  • 依賴更新:將 docker engine 和 cli 升級至 v27.1.0。

錯誤修正與增強功能

  • 增強 JSON 進度事件,加入更多欄位。

2.29.0

2024-07-17

更新

  • 依賴更新:將 compose-go 升級至 v2.1.4
  • 依賴更新:將 docker engine 和 cli 升級至 v27.0.3
  • 依賴更新:將 buildx 升級至 0.16.0
  • 依賴更新:將 buildkit 升級至 0.15.0
  • 依賴更新:將 containerd 升級至 1.7.19

錯誤修正與增強功能

  • 新增 JSON 串流進度寫入器。
  • docker compose watch 指令新增 --prune 旗標。
  • 服務選取後,現已排除不必要的資源。
  • 容器中未設定值的空變數現在會被取消設定。

2.28.1

2024-06-24

錯誤修正與增強功能

  • 修正 v2.28.0 中損壞的進度顯示(在有 TTY 模式可用時)。

2.28.0

2024-06-21

更新

  • 依賴更新:將 compose-go 升級至 v2.1.3
  • 依賴更新:將 docker engine 和 cli 升級至 v27.0.1-rc.1

2.27.3

2024-06-21

更新

  • 依賴更新:將 buildx 升級至 0.15.1
  • 依賴更新:將 buildkit 升級至 0.14.1

2.27.2

2024-06-20

更新

  • 依賴更新:將 golang 升級至 1.21.11
  • 依賴更新:將 docker engine 和 cli 升級至 v26.1.4
  • 依賴更新:將 buildx 升級至 0.15.0
  • 依賴更新:將 buildkit 升級至 0.14.0
  • 依賴更新:將 containerd 升級至 1.7.18

錯誤修正與增強功能

  • config 指令新增 --environment 旗標
  • 修正當 watch 作為旗標與 up 指令一起使用時導致處理程序掛起的問題
  • 修正 .env 檔案中 COMPOSE_PROFILES 的使用

2.27.1

2024-05-24

更新

  • 依賴更新:將 compose-go 升級至 v2.1.1
  • 依賴更新:將 docker engine 和 cli 升級至 v26.1.3
  • 依賴更新:將 buildx 升級至 0.14.1
  • 依賴更新:將 containerd 升級至 1.7.17

錯誤修正與增強功能

  • 在 CLI 中新增導航選單,您可以在其中開啟 Docker Desktop 中的 Compose 檔案
  • docker compose up 中的 --menu 旗標新增說明文件
  • 修正與 --no-interpolate 一起使用 --resolve-image-digests 的錯誤
  • 您現在可以使用本地 .env 檔案來覆蓋 COMPOSE_* 環境變數

2.27.0

2024-04-24

更新

  • 依賴更新:將 golang 升級至 1.21.9
  • 依賴更新:將 compose-go 升級至 v2.1.0
  • 依賴更新:將 docker engine 和 cli 升級至 v26.1.0

錯誤修正與增強功能

  • 引入 --abort-on-container-failure 旗標
  • 引入 --all-resources 以不排除服務未使用的資源
  • 引入對 build.entitlements 的支援
  • 修正一個錯誤,使 Docker Compose 在執行 docker compose down/stop -p 時忽略缺失的容器
  • 修正相容模式下對 --flag=value 語法的支援

2.26.1

2024-03-29

更新

  • 依賴更新:opencontainers/image-spec v1.1.0

錯誤修正與增強功能

  • 在輸出中新增映像拉取失敗原因
  • 修正使用 --no-build--watch 執行 up 時的崩潰
  • 修正沒有 TTY 可用且啟用選單時的崩潰
  • 改進選單操作的可讀性

2.26.0

2024-03-22

更新

  • 依賴更新:將 compose-go 升級至 v2.0.2
  • 依賴更新:將 docker 升級至 v26.0.0

錯誤修正與增強功能

  • 減少 Otel 追蹤指令的逾時時間
  • 修正 config --format json
  • 修正預設構建映像名稱的說明文件
  • 為 Compose 中的綁定掛載引入同步檔案共享
  • 新增對 annotations 的支援
  • 引入 config --variables 以列出 Compose 模型變數
  • docker compose up 中新增導航選單

2.25.0

2024-03-15

更新

  • 依賴更新:將 compose-go 升級至 v2.0.0

錯誤修正與增強功能

  • 恢復 config 行為,直到設定 --no-interpolate
  • 修正服務名稱 shell 自動完成
  • up 指令新增 --watch 旗標

2.24.7

2024-03-06

更新

  • 依賴更新:將 golang 升級至 1.21.8
  • 依賴更新:將 compose-go 升級至 2.0.0-rc8
  • 依賴更新:將 docker 升級至 v24.0.4

錯誤修正與增強功能

  • Compose 現在確保網路有穩定的優先順序排序
  • 修正預設值中帶有大括號(例如 JSON)的插值
  • 修正非唯一 container_name 值的驗證
  • 修正 develop.watch 的驗證
  • 修正 include 的環境載入
  • 修正合併標籤/網路時的崩潰
  • 使用 include 時新增對 --no-path-resolution 的支援
  • 修正缺失專案名稱的錯誤
  • 修正 config 上的 --no-interpolate 旗標
  • 為 Windows 上的 Watch 模式檔案鎖定問題新增變通方法
  • 修正重複的退出代碼狀態訊息
  • Compose 現在在 up 時尊重 COMPOSE_REMOVE_ORPHANS

2.24.6

2024-02-15

更新

  • 依賴更新:將 cli 升級至 25.0.3
  • 依賴更新:將 compose-go 升級至 2.0.0-rc.7

錯誤修正與增強功能

  • 修正當專案檔案透過 COMPOSE_FILE 變數設定時的 .env 檔案載入問題
  • 使 ps --status=exited 行為與 Docker CLI 行為對齊
  • 修正收集大量日誌時的死鎖問題

2.24.5

2024-01-30

錯誤修正與增強功能

  • 修正 Windows 上構建映像時出現的「failed to solve: changes out of order」錯誤。

2.24.4

2024-01-29

更新

  • 依賴更新:將 cli 升級至 25.0.1
  • 依賴更新:將 docker 升級至 25.0.1
  • 依賴更新:將 compose-go 升級至 2.0.0-rc.3

錯誤修正與增強功能

  • 修正啟用 swarm 時檢查外部網路存在的問題。
  • 新增對 storage_opt 屬性的支援。

2.24.3

2024-01-24

此版本修正了 Compose v2.24.0 中引入的 Windows Docker Desktop 構建問題。

更新

  • Compose 現在使用自訂版本的 fsutils 程式庫。

2.24.2

2024-01-22

更新

  • 依賴更新:將 cli 升級至 25.0.0 GA
  • 依賴更新:將 compose-go 升級至 2.0.0-rc.2

2.24.1

2024-01-18

更新

  • 依賴更新:將 cli 升級至 25.0.0-rc3
  • 依賴更新:將 docker 升級至 25.0.0-rc3
  • 依賴更新:將 compose-go 升級至 2.0.0-rc.1
  • 依賴更新:將 containerd 升級至 1.7.12

錯誤修正與增強功能

  • 重寫 up 期間容器狀態的顯示
  • 修正使用 healthcheck.start_interval 所需的引擎版本
  • alpha 指令中移除 watch 子指令
  • 修正處理接收到的訊號時的錯誤

2.24.0

2024-01-11

更新

  • 依賴更新:將 cli 升級至 25.0.0-beta.3
  • 依賴更新:將 compose-go 升級至 2.0.0-beta.3
  • 依賴更新:將 golang 升級至 1.21.6

錯誤修正與增強功能

  • 引入 docker compose attach 以將本機標準輸入、輸出和錯誤串流附加到服務的執行中容器。
  • 引入 docker compose stats 以顯示容器資源使用統計的即時串流。
  • 引入 docker compose ps --orphans 以包含/排除未宣告的服務。
  • 引入 docker compose logs --index 以選取複本容器。
  • 引入 docker compose build --with-dependencies 以同時構建依賴項。
  • 新增構建的來源原則。
  • 包含已禁用的服務以進行 shell 自動完成。
  • 恢復 ps JSON 輸出中的 Project
  • 新增對 AWS ECR 的 OCI 1.0 回退支援。
  • 構建現在不需要解析環境。
  • Compose 現在為 compose up 在 SIGINT/SIGTERM 訊號上發出取消事件。
  • 修正使用 --verbose 時暴露服務連接埠的日誌。
  • 修正內嵌和環境定義的設定,使其掛載在 /<id> 下,直到設定明確目標為止。
  • 修正 --pull always --no-build 的組合。
  • 修正日誌列印器中的競爭條件。
  • 修正命令上下文取消時的 docker compose up 拆卸。

2.23.3

2023-11-22

更新

  • 依賴更新:將 buildx 升級至 v0.12.0

2.23.2

2023-11-21

更新

  • 依賴更新:將 buildkit 升級至 0.12.3
  • 依賴更新:將 docker 升級至 24.0.7
  • 依賴更新:將 cli 升級至 24.0.7
  • 依賴更新:將 1.20.2 升級

錯誤修正與增強功能

  • Compose 現在支援 builds.tagspush 指令。
  • Compose Watch 現在在啟動時重建服務映像。
  • 現在 --remove-orphans 不會將已禁用的服務管理為孤立服務。
  • 只有在至少有一個服務要構建時,Compose 才會顯示 Building 輸出日誌。

2.23.1

2023-11-16

更新

  • 依賴更新:將 compose-go 升級至 v1.20.1

錯誤修正與增強功能

  • 使 Compose 與 OCI 構件最佳實踐對齊。
  • 引入 --resolve-image-digests,以便使用者在發佈 Compose 應用程式時可以按摘要鎖定服務映像。
  • 改進 Compose Watch 設定日誌記錄。
  • Compose 現在拒絕使用 secrets|configs.drivertemplate_driver 的 Compose 檔案。
  • 如果缺少依賴項,Compose 現在無法啟動。
  • 修正 SIGTERM 支援以停止/殺死堆疊。
  • 修正 --hash 回歸問題。
  • 修正當外部網路位於監控服務上時,「Application failed to start after update」的問題。
  • 修正 --pull 說明文件。
  • 透過在 cmd/compose/build.go 中加入換行符號來修正顯示。
  • 過濾應用後,Compose 呈現為靜默。
  • 從 docker-compose up 輸出中剝離專案字首。

2.23.0

2023-10-18

更新

  • 依賴更新:將 compose-go 升級至 v1.20.0
  • 依賴更新:將 containerd 升級至 1.7.7

錯誤修正與增強功能

  • 新增對發佈指令的乾執行 (dry-run) 支援
  • 新增 COMPOSE_ENV_FILES 環境變數以傳遞環境檔案列表
  • 新增 sync+restart 動作到 compose watch
  • 預設使 compose ps 輸出與 Docker CLI 對齊,並引入 --no-trunc 以保持先前的行為
  • 修正 upconfigure 之間的雜湊不一致
  • down 使用明確的服務名稱執行時啟用設定檔
  • 修正提供的拉取原則無效時的問題

2.22.0

2023-09-21
注意

watch 指令現已正式發行 (GA)。您可以直接從根指令 docker compose watch 使用它。如需更多資訊,請參閱 檔案監控

更新

  • 依賴更新:將 golang 升級至 1.21.1
  • 依賴更新:將 compose-go 升級至 v1.19.0
  • 依賴更新:將 buildkit 升級至 v0.12.2

錯誤修正與增強功能

  • 新增對 publish 指令的實驗性支援。
  • watch 指令現在會在啟動期間構建並啟動專案。
  • --pull 旗標新增 policy 選項。
  • 修正 up 指令退出時的各種競爭和死鎖條件。
  • 修正構建時的多平台問題。
  • 即使未啟用其 profiles,也會啟用明確請求的服務。
  • 修正當宣告的 env_file 缺失時的 config 問題。
  • 將 BuildOptions 傳遞給 uprun 指令。

2.21.0

2023-08-30
注意

docker compose psdocker compose ps --format=json 的格式已變更,以更好地與 docker ps 輸出對齊。請參閱 compose#10918

更新

  • 依賴更新:將 compose-go 升級至 v1.18.3

錯誤修正與增強功能

  • 變更 docker compose psdocker compose ps --format=json 輸出以與 Docker CLI 對齊。
  • 新增對多文件 YAML 檔案的支援。
  • 新增對使用 include 從 Git 儲存庫載入遠端 Compose 檔案的支援(實驗性)。
  • 修正構建期間不正確的代理變數。
  • 修正容器退出時截斷的容器日誌。
  • 修正使用 include--profile 時的「no such service」錯誤。
  • 修正使用 include 時的 .env 覆蓋。

2.20.3

2023-08-11

更新

  • 依賴更新:將 golang 升級至 1.21.0
  • 依賴更新:將 compose-go 升級至 v1.18.1
  • 依賴更新:將 buildkit 升級至 v0.12.1

錯誤修正與增強功能

  • 改進 watch 同步的速度和可靠性。
  • 在第一行構建日誌中新增建置器名稱。
  • 改進 --project-directory--profile 的 shell 自動完成。
  • 修正代理設定未傳遞給舊版建置器的構建問題。
  • 當選項依賴成功存在時,移除不必要的警告。

2.20.2

2023-07-19

錯誤修正與增強功能

  • 新增對 depends_on.required 屬性的支援。
  • 修正構建嘗試推送未命名服務映像的問題。
  • 修正 Windows 上未檢查目標機密路徑的錯誤。
  • 修正使用 extends.file 的服務解析構建上下文路徑的錯誤。

2.20.1

2023-07-18

更新

  • 依賴更新:將 golang 升級至 1.20.6
  • 依賴更新:將 buildx 升級至 v0.11.2
  • 依賴更新:將 buildkit 升級至 v0.12
  • 依賴更新:將 docker-cli 升級至 v24.0.5-dev

2.20.0

2023-07-11

更新

  • 依賴更新:將 docker/cli-docs-tools 升級至 v0.6.0
  • 依賴更新:將 docker 升級至 v24.0.4
  • 依賴更新:將 buildx 升級至 v0.11.1

錯誤修正與增強功能

  • 引入 wait 指令。
  • 新增對 build 指令的 --builderBUILDX_BUILDER 支援。
  • 新增對來自 Compose 規範的 includeattach 屬性的支援。
  • 修正初始化 CLI 客戶端時的 DryRun 模式問題。
  • 修正服務擁有多個網路時隨機缺失網路的錯誤。
  • 修正機密檔案權限值以符合 Compose 規範。
  • 修正 no-deps 旗標未套用的問題。
  • 修正一些原始碼註解。
  • 修正 --index 未設定選取時的錯誤。
  • 修正等待 e2e 測試中的處理程序洩漏。
  • 改進一些測試速度。

2.19.1

2023-06-29

更新

  • 依賴更新:將 compose-go 升級至 v1.15.1

錯誤修正與增強功能

  • 修正 compose up 時偶發的「container not connected to network」錯誤。
  • 修正 compose build 時的「please specify build context」錯誤。
  • 如果服務 watch 設定中使用綁定掛載,Compose 現在會發出警告。

2.19.0

2023-06-21

更新

  • 依賴更新:將 compose-go 升級至 v1.15.0
  • 依賴更新:將 buildx 升級至 v0.11.0
  • 依賴更新:將 docker 升級至 v24.0.2
  • 依賴更新:將 golang 升級至 1.20.5

錯誤修正與增強功能

  • 引入選取單一服務由 compose down 停止的能力。
  • 新增 --progress 作為設定進度 UI 風格的頂層旗標。
  • 引入 run --cap-add 以使用服務映像執行維護指令。
  • 修正偵測 swarm 模式期間的錯誤。
  • 修正透過 COMPOSE_PROJECT_NAME 環境變數設定專案名稱時的錯誤。
  • 調整在 down 指令幫助下磁碟區旗標的顯示。
  • 修正 up 指令中的一個錯誤,該指令不應靜默忽略缺失的 depends_on 服務。
  • 使轉發訊號到容器的行為與 docker run 一致。
  • Compose 現在偵測網路名稱衝突。
  • 修正關於現有磁碟區的警告訊息中的錯字。
  • Compose 現在偵測在 compose -p x logs -f 指令後啟動的新服務。
  • 修正將 compose 用作專案名稱時的錯誤。
  • 修正 watch 指令在目錄不存在時的錯誤。
  • 移除重啟或停止服務時 10 秒的預設逾時。
  • 修正 watch 中的一個錯誤,該錯誤預設套用「rebuild」策略。
  • 修正一個競爭條件,在一個容器退出時等待其他容器。
  • 新增警告告知使用者 uid,gid,mode 未對 build.secrets 實作。
  • 修正 watch 中的一個錯誤,該錯誤監視整個構建上下文而不是僅監視已設定的路徑。
  • Compose 現在按建立日期對容器進行排序,以便先縮減較舊的容器。
  • 修正 Windows 環境下文件產生任務中的錯誤。
  • 更新說明文件以反映 Dry Run 模式功能已完整。
  • 改進網路標籤不匹配時的診斷訊息。
  • 修正一個錯誤,該錯誤在不涉及構建時渲染 Building 部分。
  • 修正代碼覆蓋率指標中的錯誤。
  • 新增 OTEL 初始化。
  • 新增 GitHub Action 以使用 Compose edge 版本觸發 Docker Desktop e2e 測試。
  • 為 dependabot 新增更多忽略規則。

2.18.1

2023-05-17

錯誤修正與增強功能

  • 修正構建映像時的「Image not found」錯誤

2.18.0

2023-05-16

更新

  • 依賴更新:將 compose-go 升級至 v1.13.5
  • 依賴更新:將 buildkit 升級至 v0.11.6
  • 依賴更新:將 docker 升級至 v23.0.5

錯誤修正與增強功能

  • 新增使用 --dry-run 的乾執行支援
  • 新增 viz 子指令的第一個(alpha)實作
  • 引入 --no-path-resolution 以跳過相對路徑的解析
  • 引入 COMPOSE_ANSI 以定義 --ansi 預設值
  • 引入 COMPOSE_STATUS_STDOUT 以將狀態訊息傳送到 stdout
  • 修正 BuildKit progressui 整合
  • 修正一個錯誤,該錯誤阻止阻塞事件迴圈收集日誌
  • 恢復對 --memory 的支援
  • 修正一個錯誤,導致容器在終止後沒有停止
  • Compose 現在允許使用者宣告構建機密目標
  • 修正一個錯誤,導致容器在設定未變更時被重建
  • 修正當 --parallel 與大量依賴服務一起使用時的競爭條件
  • Compose 現在檢查本機映像是否符合所需的平台
  • 修正使用 --project-name 執行 compose down 時的本機映像移除
  • Compose 現在偵測嘗試移除網路的活動端點並跳過並發出警告
  • 移除不必要的 [] 輸出
  • Compose 偵測到 Windows 終端不是 console.File 以避免崩潰
  • --parallel 現在優先於 COMPOSE_PARALLEL_LIMIT
  • Compose 現在在 Swarm 停用時報告找不到外部網路

2.17.2

2023-03-26

更新

  • 依賴更新:將 compose-go 升級至 v1.13.2

錯誤修正與增強功能

  • 修正目錄名稱包含大寫字母或 . 時的無效專案名稱錯誤。修正 compose#10405

2.17.1

2023-03-24

更新

  • 依賴更新:將 buildkit 升級至 v0.11.5
  • 依賴更新:將 compose-go 升級至 v1.13.1
  • 依賴更新:將 golang 升級至 1.20.2

錯誤修正與增強功能

2.17.0

2023-03-23

升級說明

  • 專案名稱驗證執行得更嚴格。專案名稱只能包含字母、數字、_-,並且必須為小寫,且以字母或數字開頭。
  • YAML 中的布林欄位必須為 truefalse。不支援已棄用的 YAML 1.1 值,例如 "on" 或 "no"。
  • 拒絕重複的 YAML 合併鍵 (<<)。

更新

  • 依賴更新:將 buildkit 升級至 v0.11.4
  • 依賴更新:將 buildx 升級至 v0.10.4
  • 依賴更新:將 containerd 升級至 1.6.18
  • 依賴更新:將 compose-go 升級至 v1.13.0

錯誤修正與增強功能

  • up 指令上引入 --wait-timeout。修正 compose#10269
  • 使 compose service --hash 輸出按服務名稱排序。拉取請求 compose#10278
  • Compose 現在渲染緊湊的 TUI 進度報告以監控層下載。拉取請求 compose#10281
  • 引入 depends_onrestart。修正 compose#10284
  • 新增對 NO_COLOR 環境變數的支援。修正 compose#10340
  • 進度寫入器現在使用 dockercli.Err 串流。修正 compose#10366
  • 新增對 build 服務設定中 additional_contexts 的支援。修正 compose#9461 compose#9961
  • watch 模式中新增檔案刪除/重新命名處理。拉取請求 compose#10386
  • watch 模式中引入 ignore 屬性。拉取請求 compose#10385
  • Compose 現在使用進度寫入器來顯示複製狀態。拉取請求 compose#10387
  • 更新 -p/--project-name 旗標的參考說明文件。修正 docs#16915, compose-spec#311
  • 引入 replace 標籤以追蹤服務的新舊容器之間的關係。修正 compose#9600
  • 修正服務重啟後依賴服務未重啟的錯誤。修正 compose#10263
  • Compose 現在在 watch 模式中忽略沒有構建部分的服務。修正 compose#10270
  • Compose 現在為偽子指令套用設定選項。修正 compose#10286
  • Compose 僅管理帶有 config_hash 標籤的容器(即由 compose 建立)。修正 compose#10317
  • 正規化後如果專案名稱為空,Compose 會觸發錯誤。修正 compose#10313
  • Compose 透過檢查 depends_on 關係僅重啟必要的服務。修正 compose#10337
  • 修正小型終端上的顯示問題。修正 compose#10322
  • 修正構建已構建映像 ID 收集的問題。拉取請求 compose#10372
  • 使用設定的名稱分隔符定義 oneoff 容器名稱。修正 compose#10354
  • 修正重建容器時的並發 map 讀/寫問題。修正 compose#10319
  • Compose 現在支援 stoprm 指令的乾執行模式。拉取請求 compose#10257
  • Compose 現在支援 pull 指令的乾執行模式。拉取請求 compose#10341
  • Compose 現在支援 push 指令的乾執行模式。拉取請求 compose#10355
  • Compose 現在支援 exec 指令的乾執行模式。拉取請求 compose#10252
  • Compose 現在支援 restart 指令的乾執行模式。拉取請求 compose#10339

2.16.0

2023-02-08

更新

  • 依賴更新:將 docker 升級至 v23.0.0
  • 依賴更新:將 docker-cli 升級至 v23.0.0
  • 依賴更新:將 buildkit 升級至 v0.11.2
  • 依賴更新:將 buildx 升級至 v0.10.2
  • 依賴更新:將 containerd 升級至 1.6.16
  • 依賴更新:將 golang 升級至 1.20

錯誤修正與增強功能

  • compose create 指令引入 --remove-orphans。修正 compose#9718
  • 當終端太小時縮短 TTY 輸出。修正 compose#9962
  • remove-orphans 功能新增至 run。修正 compose#9718
  • 引入實驗性 watch 指令。拉取請求 compose#10163
  • Compose 現在允許透過 -t 分配 TTY。修正 compose#10161
  • 引入實驗性 dry-run 指令。拉取請求 compose#10173
  • 更新說明文件以解釋設定並行處理的方法。拉取請求 compose#10198
  • 透過為 --tail 設定 -n 別名,使 logs 指令與 docker CLI 對齊。修正 compose#10199
  • 新增對 docker compose build --push 的支援。拉取請求 compose#10148
  • --scale 新增至 compose create 指令。修正 compose#10208
  • convert 更名為 config 以與 Compose V1 UX 對齊。拉取請求 compose#10214
  • Compose 現在將代理設定作為構建參數傳遞。修正 compose#8797
  • 透過忽略非 Compose 建立的容器,修正 compose up 中的解析錯誤。修正 compose#10162
  • 修正日誌格式化程式初始化中的 goroutine 洩漏。修正 compose#10157
  • 修正當所有執行中的容器都已停止時,compose 日誌無法退出的問題。拉取請求 compose#10181
  • 修正說明文件以反映 docker compose psdocker ps 對齊。拉取請求 compose#10195
  • 修正找不到遠端 Buildx 驅動程式的問題。修正 compose#9893
  • 改進重建服務容器時的日誌記錄。拉取請求 compose#10236
  • 修正一個錯誤,使 Compose 現在僅等待與等待條件相關的容器。修正 compose#10200
  • Compose 現在防止對 nil map 中的條目進行賦值。修正 compose#10244
  • 為 Cucumber 測試新增專用的 GitHub Action 工作流程。拉取請求 compose#10165
  • 切換到緊湊日誌模式時清除 TUI 行。修正 compose#10201
  • 新增 Tilt 監視器以在監控模式下偵測代碼變更。拉取請求 compose#10218
  • Compose 現在支援 kill 指令的乾執行模式。修正 compose#10210
  • Compose 現在支援 pause 指令的乾執行模式。修正 compose#10217
  • Compose 現在支援 cp 指令的乾執行模式。修正 compose#10235

2.15.1

2023-01-09

更新

  • 依賴更新以修復 Golang CVE-2022-27664 和 CVE-2022-32149

錯誤修正與增強功能

  • 新增對 UTS 命名空間的支援。修正 compose#8408
  • 修正未設定過濾器時的過濾問題。修正 roadmap#418
  • 修正構建步驟期間的並發 map 寫入問題。拉取請求 compose#10151
  • 修正 stdin 不是終端時的問題。修正 compose#9739

2.15.0

2023-01-05

更新

  • 依賴更新:將 compose-go 升級至 v1.8.1
  • 依賴更新:將 cli-docs-tool 升級至 0.5.1

錯誤修正與增強功能

  • 新增對 service.build 區段中 privileged 屬性的支援。拉取請求 compose#10112
  • 引入 --ignore-buildable 以在拉取時忽略可構建映像。修正 compose#8805
  • 引入 --no-attach 以忽略一些服務輸出。修正 compose#8546
  • 修正設定 driver:nonelogs 的問題。修正 compose#9030
  • Compose 現在依賴 dockerCLI.streams。拉取請求 compose#10082
  • 修正必須排除複本的服務雜湊問題。修正 compose#10077
  • Compose 現在根據專案而非執行中的容器檢查服務名稱。修正 compose#9951
  • 修正安全性選項支援(seccomp 和 unconfined)。修正 compose#9505
  • 修正使用較小來源檔案時使用 compose config 的空檔案問題。修正 compose#10121
  • 修正 compose up 時未套用 --pull 的問題。修正 compose#10125
  • Compose 不僅應忽略自動移除的容器,還應忽略孤立容器的「removal in progress」。拉取請求 compose#10136
  • Compose 根據 --parallel 限制構建並發性。修正 compose#9091

2.14.2

2022-12-20

更新

  • 依賴更新:將 containerd 升級至 1.6.14

錯誤修正與增強功能

  • Compose 現在使用 DOCKER_DEFAULT_PLATFORM 在建立容器時決定平台。修正 compose#10041
  • Compose 現在偵測依賴項啟動失敗時的情況。修正 compose#9732
  • 修正 WCOW 磁碟區掛載。修正 compose#9577
  • 使用 --all=false 時僅列出執行中的容器。修正 compose#10085
  • 修正執行 pull --ignore-pull-failures 時的回歸。修正 compose#10089
  • 修正 CPU 配額問題。修正 compose#10073
  • 修正 compose 日誌上的競爭條件。修正 compose#8880
  • 透過將其重新命名為 ProjectOptions 使 projectOptions 公開。修正 compose#100102

2.14.1

2022-12-15

更新

  • 依賴更新:將 Go 升級至 1.19.4
  • 依賴更新:將 containerd 升級至 1.6.12

錯誤修正與增強功能

  • 新增 --parallel 以限制並發引擎呼叫。拉取請求 compose#10030
  • 區分 up 日誌中的 stdout 和 stderr。修正 compose#8098
  • 使 compose ps 輸出與 docker ps 對齊。修正 compose#6867
  • 為 push 指令新增 --include-deps。拉取請求 compose#10044
  • 引入 compose up 上的 --timestamp 選項。修正 compose#5730
  • Compose 現在從環境建立機密時套用 uid/gid。拉取請求 compose#10084
  • 修正等待 attached-dependencies 時的死鎖。修正 compose#10021
  • 修正收集已拉取映像 ID 時的競爭條件。修正 compose#9897
  • Compose 不會針對可構建的映像停止 pull 指令。修正 compose#8724
  • 修正沒有容器可附加時的邊緣情況。修正 compose#8752
  • Compose 容器的啟動必須依序執行,以便引擎在設定的範圍內分配不同的連接埠。修正 compose#8530
  • 修正 repository:tag 的解析。修正 compose#9208
  • 當使用者明確設定時從檔案載入專案。修正 compose#9554

2.14.0

2022-12-02

更新

  • 依賴更新:將 compose-go 升級至 v1.8.0
  • 依賴更新:將 Go 升級至 1.19.3

錯誤修正與增強功能

  • 在服務定義中新增 oom_score_adj 欄位。拉取請求 compose#10019
  • 新增 tmpfs 掛載權限的 mode 欄位。拉取請求 compose#10031
  • Compose 現在僅停止中斷時由 up 啟動的服務。修正 compose#10028
  • Compose 現在為目標服務載入隱式設定檔。修正 compose#10025
  • 如果設定了 service.platform,Compose 不需要設定 service.build.platforms。修正 compose#10017
  • 如果設定了 --ansi=never,則在 buildx 映像構建期間使用純文字輸出。修正 compose#10020
  • COMPOSE_IGNORE_ORPHANS 環境變數現在表現得更一致。修正 compose#10035
  • Compose 現在在 convert 中使用正確的映像名稱分隔符。修正 compose#9904
  • 修正使用 network_mode: service:NAME 的服務的 run。修正 compose#10036

2.13.0

2022-11-23

更新

  • 依賴更新:將 containerd 升級至 1.6.10
  • 依賴更新:將 docker-credential-helpers 升級至 v0.7.0
  • 更新 CI 依賴項。拉取請求 compose#9982

錯誤修正與增強功能

  • convert 指令中新增 no-consistency 選項。修正 compose#9963
  • run 指令中新增 build 選項。修正 compose#10003
  • 修正將 restart_policy.condition 對應到引擎支援的值。修正 compose#8756, docs#15936
  • 修正缺少 deploy.reservation.memory 支援的問題。修正 compose#9902
  • 修正一個錯誤,以防止在指定 --profile 參數時使用 COMPOSE_PROFILES。修正 compose#9895
  • 修正一個錯誤,以防止在依賴將構建此映像的服務時拉取服務映像。修正 compose#9983
  • 修正未找到容器編號標籤時的解析錯誤。修正 compose#10004
  • 當未定義 service.platform 時,Compose 現在使用 DOCKER_DEFAULT_PLATFORM 定義的平台值。修正 compose#9889
  • 移除對已棄用依賴項 gotest.tools v2 的使用。拉取請求 compose#9935
  • 從 stale bot 處理程序中排除標記為 kind/feature 的問題。修正 compose#9988

2.12.2

2022-10-21

更新

  • 更新 Docker Engine API 以恢復 Linux 封裝所需的與 Golang 1.18 的相容性。拉取請求 compose#9940

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.12.2 發行頁面

2.12.1

2022-10-21

安全性

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.12.1 發行頁面

2.12.0

2022-10-18

更新

  • CI 更新至說明文件儲存庫路徑

  • 升級至 compose-go 從 1.5.1 至 1.6.0

  • 更新至 go 1.19.2 以解決 CVE-2022-2879、CVE-2022-2880、CVE-2022-41715

錯誤修正與增強功能

  • 新增推送映像時的 quiet 選項。修正 compose#9089
  • 修正 port 指令的誤導性錯誤訊息。拉取請求 compose#9909
  • 修正一個錯誤,以防止 Compose 嘗試移除不存在的容器時失敗。修正 compose#9896
  • 切換 GitHub 問題範本表單

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.12.0 發行頁面

2.11.2

2022-09-27
注意
  • 環境檔案語法和插值更新:請參閱 compose#9879
  • Compose v2 不支援透過 .env 檔案設定 DOCKER_HOST

更新

錯誤修正與增強功能

  • 修正一個錯誤,防止對有效環境變數值產生「invalid template」錯誤。修正 compose##9806, compose##9746, compose##9704, compose##9294
  • 修正一個錯誤,以確保使用來自 docker compose build 的新映像。修正 compose#9856
  • 修正未設定 DOCKER_DEFAULT_PLATFORM 時的跨架構構建。修正 compose#9864
  • 修正使用 depends_on 時的間歇性衝突錯誤。修正 compose#9014
  • 覆寫入口點時清除服務 CMD。修正 compose#9622
  • 當未定義 build.platforms 時設定預設建置器匯出。修正 compose#9856
  • 修正一個錯誤,以優先透過 DOCKER_DEFAULT_PLATFORM 或 service.platform 屬性保持定義的平台。修正 compose#9864
  • 移除對 .env 檔案中 DOCKER_HOST 的支援。修正 compose#9210
  • 修正一個錯誤,以確保如果在執行指令中覆寫入口點,則服務命令保持乾淨。修正 compose#9622
  • Deps:修正圖形遍歷期間的競爭條件。修正 compose#9014
  • CI 現在在 Windows 和 macOS 上執行,包括透過 Docker Desktop 進行的 E2E 測試
  • service.platform 不是 service.build.platforms 的一部分時新增更多資訊
  • GitHub Workflows 安全強化

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.11.2 發行頁面

2.11.1

2022-09-20

錯誤修正與增強功能

  • 修正一個錯誤,在服務具有 volumes_from 時保持 depends_on 條件。修正 compose#9843
  • 修正一個錯誤,如果沒有構建平台,在構建期間保持服務級別定義的平台。修正 compose#9729
  • 修正一個錯誤,如果在構建期間未提供構建平台,則保持透過 DOCKER_DEFAULT_PLATFORM 定義的平台。修正 compose#9853

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.11.1 發行頁面

2.11.0

2022-09-14

更新

  • 依賴更新:將 Golang 升級至 1.19.1
  • 依賴更新:將 github.com/docker/go-units 從 0.4.0 升級至 0.5.0
  • 依賴更新:將 github.com/cnabio/cnab-to-oci 從 0.3.6 升級至 0.3.7
  • 依賴更新:將 go.opentelemetry.io/otel 從 1.9.0 升級至 1.10.0
  • 依賴更新:將 github.com/AlecAivazis/survey/v2 從 2.3.5
  • 依賴更新:將 go.opentelemetry.io/otel 從 1.4.1 升級至 1.9.0
  • 依賴更新:將 compose-go 從 1.5.0 升級至 1.5.1

錯誤修正與增強功能

  • 新增平台構建。修正 compose-spec#267
  • 日誌現在過濾來自目前 Compose 檔案的服務。修正 compose#9801
  • 新增改進的拉取映像時的輸出警告。修正 compose#9820
  • 修正一個錯誤,以確保服務有依賴項時正確擷取退出代碼。修正 compose#9778
  • 修正帶有 --rmidown。修正 compose#9655
  • 修正使用 --no-interpolate 選項時將 $ 轉為 $$ 的 docker-compose convert。修正 compose#9160
  • 修正 build.go 直接存取自訂標籤導致崩潰。請參閱 compose#9810
  • 將新載入的 envvars 套用到「DockerCli」和「APIClient」。修正 compose#9210
  • 僅嘗試在 compose start [services] 上啟動指定的服務。修正 compose#9796 compose#9807
  • 標記已構建的映像以在 down 上進行可靠的清理。修正 compose#9655

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.11.0 發行頁面

2.10.2

2022-08-26

錯誤修正與增強功能

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.10.2 發行頁面

2.10.1

2022-08-24

更新

錯誤修正與增強功能

  • 修正未設定 pull_policy 時跳過映像拉取的問題。修正 compose#9773
  • 恢復發行產物中的 .sha256 總和檢查碼檔案。修正 compose#9772
  • 在使用 --exit-code-from 時移除顯示退出代碼的錯誤訊息。修正 compose#9782
  • 修正 compose pull,即使 tag=latest 本機存在映像也會拉取。
  • CI:修正總和檢查碼檢查並恢復單獨的總和檢查碼檔案。

如需完整的變更日誌或更多資訊,請檢查 Compose 儲存庫 2.10.1 發行頁面

2.10.0

2022-08-19

新增功能

  • 將新載入的環境變數套用到 DockerCliAPIClient。修正 compose#9210
  • 新增對 windows/arm64 和 linux/riscv64 的支援。

更新

  • 更新 Dockerfile 語法至最新穩定版,並重新命名說明文件 Dockerfile。
  • 依賴更新:更新 BuildKit 和 docker/distribution。
  • 依賴更新:將 CI 中使用的 Docker CLI 版本更新至 v20.10.17。
  • 依賴更新:將 github.com/containerd/containerd 從 1.6.6 升級至 1.6.7
  • 依賴更新:將 github.com/containerd/containerd 從 1.6.7 升級至 1.6.8
  • 依賴更新:升級至 Go 1.18.5。
  • 依賴更新:將 github.com/cnabio/cnab-to-oci 從 0.3.5 升級至 0.3.6

錯誤修正與增強功能

  • 將環境變數優先順序恢復為 OS 高於 .env 檔案。修正 compose#9737
  • 更新說明字串以保持一致性。
  • 在 Windows 上不區分大小寫地解析環境變數。修正 compose#9431
  • 修正 compose up,以便在發出停止訊號時不會停止依賴容器。這在行為上與 v1 保持同等。
  • 修正 compose#9696
  • 修正啟動/重啟/暫停/取消暫停的指令,以便如果從 Compose 檔案執行,也會套用 Compose 模型。修正 compose#9705compose#9705
  • 移除一些子指令幫助文字中多餘的空格。
  • 修正 compose create,在命令列的值設定為預設值時,不會覆蓋服務拉取原則。修正 compose#9717
  • 過濾出「commandConn.Close- warning」訊息。修正compose#8544
  • 修正 up/start/run 不等待已禁用的依賴項。修正 compose#9591
  • compose kill 上套用 Compose 模型,新增 --remove-orphans 選項。修正 compose#9742
  • 修正 compose pull 以避免多次拉取相同的映像。修正 compose#8768
  • 將 golangci-lint 的版本修正為 v1.47.3,暫時解決 v1.48.0 的問題。

如需完整的變更日誌,請檢查 Compose 儲存庫 2.10.0 發行頁面

2.9.0

2022-08-7
重要

Compose v2.9.0 包含環境變數優先順序的變更,此變更隨後已還原。我們建議使用 v2.10+ 以避免相容性問題。

注意

此版本還原了 Compose v2.8.0 中由 compose-go v1.3.0 引入的破壞性變更。

更新

錯誤修正與增強功能

  • 覆寫 compose version 的父指令 PreRun 代碼。修正 compose#9698
  • 修復了 V2 中的 LinkLocalIPs。修復 compose#9692
  • 連結至 BUILDING.md 以取得測試說明。修復 compose#9439

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.9.0 發布頁面

2.8.0

2022-07-29
重要

此版本透過 compose-go v1.3.0 和此 PR 引入了重大變更。在此版本中,Docker Compose 會以新名稱重建資源(網路、磁碟區、密鑰、配置等),將 _(底線)改為 -(連字號),並嘗試連接或使用這些新建立的資源,而非您現有的資源!

請改用 Compose v2.9.0 版本。

新增功能

  • 引入了 --pull 旗標以允許強制拉取更新後的服務映像檔。修復 compose#9451
  • 透過將 gocritic 新增至 linter 改善了程式碼品質。

錯誤修正與增強功能

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.8.0 發布頁面

2.7.0

2022-07-20

新增功能

  • 新增了在建置步驟中支援環境密鑰的功能。修復 compose#9606

更新

錯誤修正與增強功能

  • 網路:防止因名稱重複導致的問題。修復 moby/moby#18864
  • 修復了執行 compose upcompose down 指令時關於網路名稱的問題。修復 compose#9630
  • 執行 compose up --wait 時,針對一次性容器使用適當的相依性條件。修復 compose#9606
  • 修復了環境變數擴展問題。
  • 在一致性檢查中驗證被依賴的服務是否存在。修復 compose#8910
  • 修復了環境值中雜湊 (hash) 的使用。修復 compose#9509
  • Docker Build:修正了經典建置器需遵守相依性順序的問題。修復 compose#8538
  • 修復了因空字串參數引起的程式崩潰 (panic)。修復 compose-switch#35
  • 修復了啟動/重新啟動功能,使其不會影響一次性容器。修復 compose#9509
  • 修復了當 volumes_from 指向容器而非服務時,能保留容器參照的問題。修復 compose#8874
  • build.go:修正了在 nil 時初始化 CustomLabels 對應表的問題。
  • 新增了在執行端對端 (e2e) 測試前建置 Compose 二進位檔案的新目標。
  • CI:釋出了自動化工作流程,用於在文件儲存庫開啟包含最新變更的 PR。
  • e2e:新增了 ps 的測試。
  • e2e:拆分了暫停 (pause) 測試並新增更多案例。
  • e2e:新增更多啟動/停止的測試案例。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.7.0 發布頁面

2.6.1

2022-06-23

新增功能

更新

  • 升級:compose-go v1.2.8
  • 升級:buildx v0.8.2
  • 相依性升級:將 runc 升級至 1.1.2
  • 相依性升級:將 golang 升級至 1.18.3
  • 相依性升級:將 compose-go 升級至 v1.2.8
  • 相依性升級:將 github.com/theupdateframework/notary 從 0.6.1 升級至 0.7.0。
  • 相依性升級:將 github.com/cnabio/cnab-to-oci 從 0.3.1-beta1 升級至 0.3.3。
  • 相依性升級:將 github.com/hashicorp/go-version 從 1.3.0 升級至 1.5.0。
  • 相依性升級:將 github.com/stretchr/testify 從 1.7.0 升級至 1.7.2。
  • 相依性升級:將 github.com/docker/buildx 從 0.8.1 升級至 0.8.2。
  • 相依性升級:將 github.com/AlecAivazis/survey/v2 從 2.3.2 升級至 2.3.5。
  • 相依性升級:將 github.com/containerd/containerd 從 1.6.2 升級至 1.6.6。

錯誤修正與增強功能

  • 新增了容器建立請求的連結。修復 #9513
  • 修復了 compose run 僅啟動直接相依服務的問題。修復 #9459
  • 修復了使用 --no-deps 選項時 compose up 出現的 'service not found' 錯誤。修復 #9427
  • 修復了 compose down 需遵守 COMPOSE_REMOVE_ORPHANS 環境變數的問題。修復 #9562
  • 修復了專案層級的繫結掛載 (bind mount) 磁碟區問題。修復 docker/for-mac#6317
  • 修復了 deploy.limits.cpusdeploy.limits.pids 屬性的解析問題,使其能遵守浮點數值。修復 #9542#9501
  • 修復了 compose ps 輸出以列出所有開放的埠。修復 #9257
  • 修復了 compose ps 程式碼中的拼字錯誤。
  • 修復了 docker compose 在請求棄用選項時仍會遵守 --no-ansi 的問題。
  • 修復了網路名稱與網路 ID 可能產生歧義的問題。
  • e2e:新增了 ps 的測試。
  • e2e:將 json 解組 (unmarshal) 為容器摘要。
  • e2e:修復了子測試並阻擋平行執行不安全的測試。
  • e2e:將測試指令的環境變數與系統環境變數隔離。
  • e2e:修復了虛假的 ps 失敗。
  • e2e:確保所有 compose 指令皆與獨立模式相容。
  • e2e:改進了失敗時的測試輸出。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.6.1 發布頁面

2.6.0

2022-05-30

新增功能

  • 在建置區段中新增了 tags 屬性。在此屬性中,除了 image 屬性中定義的標籤外,還可以定義要套用到最終映像檔的其他標籤。
  • 新增了端對端測試,以確保環境變數的優先順序不會出現迴歸 (regression)。
  • 新增了 ddev 的端對端測試。

更新

錯誤修正與增強功能

  • 修復了 compose up 僅連接至專案中已啟用設定檔之服務的問題。修復 #9286
  • 修復了從多個服務拉取相同映像檔時閃爍的提示。修復 #9469
  • 修復了 compose go 匯入 .env 檔案至作業系統環境的問題,允許透過此檔案設定變數(例如 DOCKER_BUILDKIT)。修復 #9345
  • 修復了在本地失敗的 TestLocalComposeUp
  • 修復了 make e2e-compose-standalone 的本地執行問題。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.6.0 發布頁面

2.5.1

2022-05-17

更新

  • 相依性更新:將 compose-go 更新至 1.2.5。

錯誤修正與增強功能

  • 修復了當使用 '--env-file' 宣告相對路徑時,專案工作目錄絕對路徑的解析問題。修復 docker/for-mac#6229
  • 修復 compose down:現在拒絕所有引數以釐清使用方式。修復 #9151
  • 修復 compose down:如果沒有要移除的資源,現在會以狀態碼 0 退出。修復 #9426
  • 修復了使用 --no-log-prefix 選項時,記錄輸出行中多出的空格問題。修復 #9464
  • 釐清了當傳入多個 compose 檔案時,預設工作目錄的定義。
  • cp 指令:預設行為改為複製到服務的所有容器。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.5.1 發布頁面

2.5.0

2022-04-29

錯誤修正與增強功能

  • 修復了指定 -p 旗標時 compose down 指令崩潰的問題。修復 #9353
  • 將新建立的專案作為啟動服務 (docker compose up) 的輸入。修復 #9356
  • 將 docker-compose 檔案中 links 下宣告的服務包含為隱含相依項。修復 #9301
  • 新增了 docker compose pull 指令的變更,以遵守定義的原則:1) 跳過設定為 pull_policy: never 的服務,以及 2) 忽略已存在映像檔且設為 pull_policy: missing 的服務。修復 #3660
  • 從資源建置專案時的錯誤不再被忽略,以防止 down 崩潰。修復 #9383
  • 強制專案名稱必須為小寫。修復 #9378
  • 新增了對建置時密鑰的支援。修復 #6358
  • 變更 compose-go 以允許(重新)建置磁碟區字串,當無法使用掛載時,供引擎 bind API 使用。修復 #9380
  • 提供 checksums.txt 檔案並新增 --binary 以允許在不同作業系統中驗證。修復 #9388
  • 新增變更,使本地拉取的映像檔 ID 經過檢查並保存至 com.docker.compose.image。修復 #9357
  • 修復了有關 IPAM 閘道設定的問題。修復 #9330
  • 新增對 docker compose 二進位檔案 ppc64le 架構的支援。
  • 修復了 --no-TTY 文件中的搜尋/取代拼字錯誤。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.5.0 發布頁面

2.4.1

2022-04-04

錯誤修正與增強功能

  • 執行帶有此旗標的容器時,將 --rm 旗標值原樣傳遞給 Docker CLI。修復 #9314
  • 當透過 docker compose up 指令建置映像檔時,將 ssh 設定新增至建置選項。修復 #9338
  • 新增對容器的檢查,以判斷是否需要 TTY。執行指定了 tty:true 的服務現在會顯示控制台輸出。修復 #9288

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.4.1 發布頁面

2.4.0

2022-04-1

更新

  • 相依性更新:將 buildx 升級至 v0.8.1,以修復處理建置上下文掃描錯誤時可能發生的崩潰。

錯誤修正與增強功能

  • 將互動式旗標 '-i' 從 Compose CLI 傳遞給 Docker 以執行 exec 指令。修復 #9315
  • Compose 指令現在會考慮 COMPOSE_PROJECT_NAME 環境變數的值。修復 #9316
  • 修復了 compose down 指令的問題,該指令在沒有啟動任何服務或沒有資源可刪除的內容中執行時會傳回錯誤。錯誤原因在於指令試圖刪除一個不存在的預設網路。修復 #9333
  • 在建置區段中引入了對 cache_fromcache_tono_cachepull 屬性的支援。這些屬性允許強制從原始碼進行完整重建,並檢查所使用的映像檔是否存在於登錄檔中。這些變更為未來提供 compose build(或同等功能)指令的 --no-cache--pull 選項奠定了基礎。
  • 為 CLI 和 Compose 檔案的 build 指令引入了對 --ssh 旗標的支援。修復 #7025
  • 修復 --ssh 旗標說明中的拼字錯誤。與 #7025 有關。
  • 將 Kubernetes 相依性釘選 (pin) 為與 buildx 中相同的版本。
  • 將互動式旗標從 Compose CLI 傳遞給 Docker 以執行 exec 指令。
  • 修復了平行執行時啟動-停止端對端測試的競爭條件 (race condition)。
  • 刪除了關於過時警告的程式碼。
  • Vendor:github.com/containerd/containerd v1.6.2。包含針對 CVE-2022-24769 的修復(不影響我們的程式碼庫)。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.4.0 發布頁面

2.3.4

2022-03-25

新增功能

  • 引入變更以使用 docker/cli 中的 RunExec 和 RunStart 來處理所有互動式/tty/* 終端機邏輯。

已移除

  • 刪除沒有候選者的容器現在會產生警告,而非錯誤。修復 #9255
  • 從 run 和 exec 指令的 -i 和 -t 選項中移除「已棄用」(Deprecated) 的說明。這些選項預設為啟用且正在使用中。修復 #9229
  • 從 --filter 旗標中移除「已棄用」說明,以與其他指令保持一致。
  • 移除了執行 'docker compose kill' 時需要原始 compose.yaml 檔案的需求。

更新

  • 相依性更新:將 github.com/spf13/cobra 從 1.3.0 升級至 1.4.0。Cobra 函式庫不再需要 Viper 及其所有間接相依性 請參閱 cobra 的發布頁面
  • 相依性更新:將 buildx 從 v0.7.1 升級至 v0.8.0。

錯誤修正與增強功能

  • 恢復 'compose up -d' 的行為,即使用刷新後的內容重建 compose 檔案映像檔的容器。修復 #9259
  • Docker compose --status、--filter 和 --format 旗標文件更新。
  • docker compose down -v 現在不會刪除外部磁碟區和網路,符合該選項預期且已記錄的行為。每當指定專案時,現在也會使用該專案來強制 down 僅刪除 compose.yaml 檔案中列出的資源。修復 #9172#9145
  • 變更 Compose API 參考文件自動化,以選取程式碼與文件之間的差異 (diff)。

欲查看完整變更日誌或取得更多資訊,請造訪 Compose 儲存庫 2.3.4 發布頁面

其他發行版本

(2022-03-8 至 2022-04-14)

對於晚於 1.29.2 且早於 2.3.4 的發布版本,請查閱 Compose 儲存庫發布頁面

1.29.2

(2021-05-10)

其他

1.29.1

(2021-04-13)

錯誤 (Bugs)

1.29.0

(2021-04-06)

功能

  • 將設定檔過濾器新增至 docker-compose config

  • 新增 depends_on 條件以等待服務成功完成。

其他

1.28.6

(2021-03-23)

錯誤修復 (Bug fixes)

其他

1.28.5

(2021-02-26)

錯誤 (Bugs)

1.28.4

(2021-02-18)

錯誤修復 (Bug fixes)

其他

1.28.3

(2021-02-17)

錯誤修復 (Bug fixes)

其他

如需此版本中修復的 PR 和問題清單,請參閱 Compose 1.28.3

1.28.2

(2021-01-26)

錯誤修復 (Bug fixes)

其他

1.28.0

(2021-01-20)

功能

  • 新增透過裝置請求支援 NVIDIA GPU。

  • 新增支援服務設定檔。

  • 變更 Docker CLI 的 SSH 連接方式,改為呼叫本地 SSH 用戶端。設定 COMPOSE_PARAMIKO_SSH=1 環境變數以啟用舊有行為。

  • 新增旗標以停用記錄前綴。

  • 新增 ANSI 輸出控制旗標。

  • Docker Compose 現在在建置映像檔時使用原生 Docker CLI 的 build 指令。設定 COMPOSE_DOCKER_CLI_BUILD=0 環境變數以停用此功能。

錯誤修復 (Bug fixes)

其他

1.27.4

(2020-09-24)

錯誤修復 (Bug fixes)

1.27.3

(2020-09-16)

錯誤修復 (Bug fixes)

1.27.2

(2020-09-10)

錯誤修復 (Bug fixes)

1.27.1

(2020-09-10)

錯誤修復 (Bug fixes)

1.27.0

(2020-09-07)

功能

  • 合併 2.x 和 3.x Compose 格式並與 COMPOSE_SPEC 架構對齊。

  • ipc 實作服務模式。

  • 在容器模式中傳遞 COMPOSE_PROJECT_NAME 環境變數。

  • 使 run 的行為與 up 相同。

  • 設定 COMPOSE_DOCKER_CLI_BUILD 環境變數時,在 docker-compose run 上使用 docker build

  • 將 docker-py 預設 API 版本用於引擎查詢 (auto)。

  • 建置時解析 network_mode

錯誤修復 (Bug fixes)

其他

1.26.2

(2020-07-02)

錯誤修復 (Bug fixes)

1.26.1

(2020-06-30)

功能

  • docker-py 從 4.2.1 升級至 4.2.2。

錯誤修復 (Bug fixes)

1.26.0

(2020-06-03)

功能

  • 新增 docker context 支援。

  • 將遺失的測試相依性 ddt 新增至 setup.py

  • up 指令中新增 --attach-dependencies 以連接至相依項。

  • 使用 COMPOSE_COMPATIBILITY 環境變數允許相容性選項。

  • Pytest 升級至 5.3.4 並重構與新版本的相容性。

  • OpenSSL 從 1.1.1f 升級至 1.1.1g。

  • certifi 從 2019.11.28 升級至 2020.4.5.1。

  • docker-py 從 4.2.0 升級至 4.2.1。

錯誤修復 (Bug fixes)

1.25.5

(2020-04-10)

功能

  • 將 OpenSSL 從 1.1.1d 升級至 1.1.1f。

  • 新增 Compose 版本 3.8。

    • 將服務擴展限制為 deploy.placement.max_replicas_per_node 欄位指定的數量。

1.25.4

(2020-02-03)

錯誤修復 (Bug fixes)

1.25.3

(2020-01-23)

錯誤修復 (Bug fixes)

1.25.2

(2020-01-20)

新功能

  • Docker Compose 現在允許使用 COMPOSE_COMPATIBILITY 環境變數設定相容性選項。

錯誤修復 (Bug fixes)

1.25.1

(2020-01-06)

Bugfixes

1.25.0

(2019-11-18)

新功能

  • 透過將 CLICOLOR 環境變數變更為 0,將 no-colors 設為 true。

  • 將工作目錄、設定檔案和環境檔案新增至服務標籤。

  • 新增 ARM 建置相依性。

  • 新增 BuildKit 支援(使用 DOCKER_BUILDKIT=1COMPOSE_DOCKER_CLI_BUILD=1)。

  • 將 Paramiko 提升至 2.6.0 版本。

  • 新增以下標籤:docker-compose:latestdocker-compose:<version>-alpinedocker-compose:<version>-debian

  • docker-py 提升至 4.1.0 版本。

  • 增強對 requests 的支援,最高至 2.22.0 版本。

  • 移除 build:cache_from 上的空標籤。

  • Dockerfile 增強功能,提供為 Alpine Linux 產生 libmusl 二進位檔案的功能。

  • 僅拉取無法建置的映像檔。

  • scale 屬性現在接受 0 作為值。

  • docker-compose build 指令中新增 --quiet--no-rm 選項。

  • docker-compose config 指令中新增 --no-interpolate 選項。

  • 將 MacOS 建置的 OpenSSL 從 1.1.0 提升至 1.1.1c

  • 新增對 docker-compose.yml 檔案 credential_spec 設定選項的支援。

  • 無需拉取映像檔即可解析摘要 (digests)。

  • pyyaml 升級至 4.2b1 版本。

  • 降低 down 嘗試移除不存在映像檔時的嚴重性為 warning

  • 盡可能強制使用改善後的專案事件 API 欄位。

  • 更新 setup.py 以適應現代化的 pypi/setuptools,並移除 pandoc 相依性。

  • 刪除不再需要的 Dockerfile.armhf

錯誤修復 (Bug fixes)

1.24.1

(2019-06-24)

此版本包含細微的改進和錯誤修復。

1.24.0

(2019-03-28)

功能

  • 新增支援使用 ssh 通訊協定連接至 Docker Engine。

  • docker-compose ps 中新增 --all 旗標,以在指令輸出中包含已停止的一次性容器。

  • ps --all|-a 新增 bash 完成功能。

  • 新增對 credential_spec 的支援。

  • bashzsh 完成功能中為 docker build 選項新增 --parallel

錯誤修復 (Bug fixes)

1.23.2

(2018-11-28)

錯誤修復 (Bug fixes)

1.23.1

(2018-11-01)

錯誤修復 (Bug fixes)

1.23.0

(2018-10-30)

重要注意事項

在此版本中,Compose 建立的容器預設命名方案已從 <project>_<service>_<index> 變更為 <project>_<service>_<index>_<slug>,其中 <slug> 是隨機產生的十六進位字串。請務必在升級前相應地更新依賴舊命名方案的指令碼。

功能

  • 崩潰後重新啟動的容器記錄現在將出現在 uplogs 指令的輸出中。

  • 新增 --hash 選項至 docker-compose config 指令,允許使用者為每個服務的設定列印雜湊字串,以促進滾動更新。

  • 新增 --parallel 旗標至 docker-compose build 指令,允許 Compose 同時建置最多 5 個映像檔。

  • pull 指令的輸出現在即使在平行拉取多個映像檔時也會報告狀態/進度。

  • 對於具有多個名稱的映像檔,Compose 現在會嘗試在 images 指令的輸出中匹配服務設定中存在的名稱。

錯誤修復 (Bug fixes)

其他

1.22.0

(2018-07-17)

新功能

Compose 格式版本 3.7

Compose 格式版本 2.4

錯誤修復 (Bug fixes)

1.21.2

(2018-05-03)

錯誤修復 (Bug fixes)

1.21.1

(2018-04-27)

錯誤修復 (Bug fixes)

1.21.0

(2018-04-11)

新功能

Compose 檔案版本 2.4

Compose 檔案版本 2.2 及以上

Compose 檔案版本 2.1 及以上

所有格式

錯誤修復 (Bug fixes)

1.20.0

(2018-03-20)

新功能

Compose 檔案版本 3.6

Compose 檔案版本 3.2 及以上

Compose 檔案版本 2.3

所有格式

錯誤修復 (Bug fixes)

1.19.0

(2018-02-07)

重大變更

新功能

Compose 檔案版本 3.x

Compose 檔案版本 2.3

Compose 檔案版本 2.1 及以上

Compose 檔案版本 2.x

所有格式

錯誤修復 (Bug fixes)

1.18.0

(2017-12-18)

新功能

Compose 檔案版本 3.5

Compose 檔案版本 2.3

Compose 檔案版本 2.1 及以上

所有格式

錯誤修復 (Bug fixes)

1.17.0

(2017-11-01)

新功能

Compose 檔案版本 3.4

Compose 檔案版本 2.3

Compose 檔案版本 2.x

所有格式

錯誤修復 (Bug fixes)

1.16.0

(2017-08-31)

新功能

Compose 檔案版本 2.3

Compose 檔案版本 2.x

所有格式

錯誤修復 (Bug fixes)

1.15.0

(2017-07-26)

新功能

Compose 檔案版本 2.2

Compose 檔案版本 2.1 及以上

所有格式

錯誤修復 (Bug fixes)

1.14.0

(2017-06-19)

新功能

Compose 檔案版本 3.3

Compose 檔案版本 2.2

Compose 檔案版本 2.1

所有格式

錯誤修復 (Bug fixes)

1.13.0

(2017-05-02)

重大變更

新功能

Compose 檔案版本 2.2

Compose 檔案版本 2.x

錯誤修復 (Bug fixes)

1.12.0

(2017-04-04)

新功能

Compose 檔案版本 3.2

Compose 檔案版本 2.1

Compose 檔案版本 2.0 以上

  • docker-compose config 新增 --volumes 選項,可列出該專案宣告的命名卷冊(named volumes)

  • 新增對服務定義中 mem_reservation 的支援(僅限 2.x 版本)

  • 新增對服務定義中 dns_opt 的支援(僅限 2.x 版本)

所有格式

錯誤修復 (Bug fixes)

1.11.2

(2017-02-17)

錯誤修復 (Bug fixes)

1.11.1

(2017-02-09)

錯誤修復 (Bug fixes)

1.11.0

(2017-02-08)

新功能

Compose 檔案版本 3.1

  • 引入 docker-compose.yml 規格的 3.1 版本。此版本需要 Docker Engine 1.13.0 或以上版本。它引入了對 secrets 的支援。詳細資訊請參閱說明文件

Compose 檔案版本 2.0 以上

  • 引入 docker-compose top 指令,可顯示 Compose 所管理的各個服務目前執行的處理程序。

錯誤修復 (Bug fixes)

1.10.1

(2017-02-01)

錯誤修復 (Bug fixes)

1.10.0

(2017-01-18)

新功能

Compose 檔案版本 3.0

  • 引入 docker-compose.yml 規格的 3.0 版本。此版本需搭配 Docker Engine 1.13 或以上版本使用,且專為 docker stack 指令設計。

Compose 檔案版本 2.1 及以上

Compose 檔案版本 2.0 以上

  • 新增對服務定義中 stop_grace_period 選項的支援。

錯誤修復 (Bug fixes)

1.9.0

(2016-11-16)

重大變更

  • 在 Windows 上使用 Docker Toolbox/Machine 時,卷冊路徑預設不再轉換為 /c/Users 風格。若要重新啟用此轉換以維持卷冊運作,請設定環境變數 COMPOSE_CONVERT_WINDOWS_PATHS=1。Docker for Windows 使用者不受影響,無需設定此變數。

新功能

  • Windows 平台上現在支援 docker-compose rundocker-compose exec 的互動模式。此功能運作需系統中已安裝 docker 二進位檔。

  • 引入 docker-compose.yml 規格的 2.1 版本。此版本需搭配 Docker Engine 1.12 或以上版本使用。

    • 新增對在 docker-compose.yml 中設定卷冊標籤與網路標籤的支援。
    • 新增對服務定義中 isolation 參數的支援。
    • 新增對服務網路定義中連結本地(link-local)IP 的支援。
    • 新增對變數插值中 Shell 風格內聯預設值的支援。支援格式為 ${FOO-default}(若 FOO 未設定則使用預設值)及 ${FOO:-default}(若 FOO 未設定或為空則使用預設值)。
  • 新增對服務定義中 group_addoom_score_adj 參數的支援。

  • 新增對網路定義中 internalenable_ipv6 參數的支援。

  • Compose 在 Windows 上現在預設使用 npipe 協定。

  • 覆寫 logging 設定時,若 driver 值不衝突,現在能正確合併 options 對應表。

錯誤修復 (Bug fixes)

1.8.1

(2016-09-22)

錯誤修復 (Bug fixes)

1.8.0

(2016-06-14)

破壞性變更

  • 如 1.7.0 所宣布,docker-compose rm 現在預設會移除由 docker-compose run 建立的容器。

  • 在服務上設定 entrypoint 現在會清空映像檔上設定的任何預設指令(例如 Dockerfile 中用於建置該映像檔的 CMD 指令)。這使其與 docker run--entrypoint 旗標保持一致。

新功能

  • 新增 docker-compose bundle,此指令可建置一個用於 Docker 1.12 新版 Docker Stack 指令的綁定檔案。

  • 新增 docker-compose push,此指令可將服務映像檔推送到註冊中心。

  • Compose 現在支援使用 COMPOSE_TLS_VERSION 環境變數,為與 Docker Engine 的互動指定自訂 TLS 版本。

錯誤修復 (Bug fixes)

1.7.1

(2016-05-04)

錯誤修復 (Bug fixes)

1.7.0

(2016-04-13)

破壞性變更

  • docker-compose logs 預設不再追蹤紀錄輸出。現在它與 docker logs 的行為一致,在列印當前紀錄後即退出。請使用 -f 以獲得舊的預設行為。

  • Compose 檔案中的對映值不再允許使用布林值(針對 environmentlabelsextra_hosts 鍵)。先前這僅是一個警告。布林值應加上引號,使其成為字串值。

新功能

  • Compose 現在會在執行目錄中尋找 .env 檔案,並讀取其中定義的環境變數(若 Shell 環境中尚未設定)。這可讓您輕鬆地為 Compose 檔案中使用的變數,或任何 COMPOSE_*DOCKER_* 變數設定預設值。

  • docker-compose updocker-compose down 新增 --remove-orphans 旗標,以移除已從 Compose 檔案中刪除的服務之容器。

  • docker-compose rm 新增 --all 旗標,以包含由 docker-compose run 建立的容器。這將在下一版 Compose 中成為預設行為。

  • 新增對 docker 用戶端所使用的所有相同 TLS 設定旗標的支援:--tls--tlscert--tlskey 等。

  • Compose 檔案現在支援 tmpfsshm_size 選項。

  • docker-compose run 新增 --workdir 旗標

  • docker-compose logs 現在會顯示啟動後建立的新容器之紀錄。

  • COMPOSE_FILE 環境變數現在可以包含多個檔案,並以主機系統的標準路徑分隔字元分隔(Mac/Linux 為 :,Windows 為 ;)。

  • 現在可以使用 ipv4_addressipv6_address 選項,在將服務連線至網路時指定靜態 IP 位址。

  • docker-compose logs 指令新增 --follow--timestamp--tail 旗標。

  • docker-compose updocker-compose start 現在會在可能的情況下並行啟動容器。

  • docker-compose stop 現在會依照相依性的相反順序停止容器,而非同時停止。

  • docker-compose up 新增 --build 旗標以強制建置新映像檔。若未使用此旗標但自動建置了映像檔,現在會顯示警告。

  • 新增 docker-compose exec 指令,用於在執行中的容器內執行處理程序。

錯誤修復 (Bug fixes)

1.6.2

(2016-02-23)

  • 修正了連線至啟用 TLS 的 Docker Engine 時,會因憑證驗證錯誤而失敗的錯誤。

1.6.1

(2016-02-23)

錯誤修復 (Bug fixes)

1.6.0

(2016-01-15)

主要功能

  • Compose 1.6 引入了 docker-compose.yml 的新格式,讓您可以在 Compose 檔案中定義網路和卷冊,以及服務。它還對某些設定選項的結構做了一些更改。

    您不需要使用它 - 您現有的 Compose 檔案在 Compose 1.6 上將會完全依照今天的方式運作。

    請查看 升級指南 以獲取完整詳情。

  • 對網路的支援已脫離實驗性質,並成為啟用容器間通訊的建議方式。

    如果您使用新檔案格式,您的應用程式將使用網路功能。如果您還沒準備好,只需維持您的 Compose 檔案不變,它仍將同樣運作。

    預設情況下,您無需設定任何網路。事實上,在 Compose 中使用網路功能比使用連結(links)設定更少。請參閱 網路指南 了解如何使用它。

    Compose 1.5 中引入的實驗性旗標 --x-networking--x-network-driver 已被移除。

  • 如果您使用新檔案格式,現在可以將引數傳遞給建置

    build:
      context: .
      args:
        buildno: 1
    
  • 如果您使用新檔案格式,現在可以同時指定 buildimage 金鑰。docker-compose build 將會建置映像檔並標記您指定的名稱,而 docker-compose pull 將嘗試拉取它。

  • 新增了一個 events 指令,用於從應用程式監控容器事件,就像 docker events 一樣。這是一個很好的基礎,可用於在 Compose 之上建置工具,以便在發生特定事件(如容器啟動和停止)時執行動作。

  • 新增了一個 depends_on 選項,用於指定服務之間的相依性。這會強制執行啟動順序,並確保當您對具有相依性的服務執行 docker-compose up SERVICE 時,這些相依服務也會一併啟動。

新功能

  • 新增了一個 config 指令,該指令會在進行變數插值、解析相對路徑並合併多個檔案和 extends 後,驗證並列印 Compose 設定。

  • 新增了一個 create 指令,用於建立容器而不啟動它們。

  • 新增了一個 down 指令,以單一指令停止並移除由 up 建立的所有資源。

  • 新增對 cpu_quota 設定選項的支援。

  • 新增對 stop_signal 設定選項的支援。

  • 指令 startrestartpauseunpause 若沒有任何容器被修改,現在會以錯誤狀態代碼退出。

  • up 新增了一個 --abort-on-container-exit 旗標,這會使 up 在第一個容器退出時停止所有容器並退出。

  • 移除對 FIG_FILEFIG_PROJECT_NAME 的支援,且不再讀取 fig.yml 作為預設 Compose 檔案位置。

  • 移除 migrate-to-labels 指令。

  • 移除 --allow-insecure-ssl 旗標。

錯誤修復 (Bug fixes)

1.5.2

(2015-12-03)

  • 修正了一個破壞 environmentenv_fileextends 一起使用的錯誤,且導致環境鍵在沒有值時具有 None 值,而非主機環境的值。

  • 修正了 1.5.1 中的回歸問題,該問題導致在重建容器時錯誤地引發關於卷冊的警告。

  • 修正了一個阻止建置使用 ADD <url>Dockerfile 的錯誤。

  • 修正了 docker-compose restart 的一個錯誤,該錯誤阻止它啟動已停止的容器。

  • 修正 SIGTERM 和 SIGINT 的處理,以正確停止容器

  • 新增對使用 url 作為 build 值的支援

  • 改進對 expose 選項的驗證

1.5.1

(2015-11-12)

  • build 新增 --force-rm 選項。

  • 在 Compose 檔案中為服務新增 ulimit 選項。

  • 修正了一個錯誤,若服務從使用 image 變更為使用 buildup 會出現「service needs to be built」錯誤。

  • 修正了一個導致某些終端機上並行作業輸出不正確的錯誤。

  • 修正了一個當 volumes_from 的模式變更時,阻止重建容器的錯誤。

  • 修正了 1.5.0 中的回歸問題,非 utf-8 Unicode 字元會導致 uplogs 當機。

  • 修正了 1.5.0 中的回歸問題,當指令因與 Docker daemon 通訊的 HTTP 逾時而失敗時,Compose 會使用成功退出狀態代碼。

  • 修正了 1.5.0 中的回歸問題,name 被視為有效的服務選項,這會覆寫服務的實際名稱。

  • 使用 --x-networking 時,Compose 不再將主機名稱設定為容器名稱。

  • 使用 --x-networking 時,Compose 僅在至少有一個容器使用該網路時,才會建立預設網路。

  • uplogs 期間列印紀錄時,在每一行後刷新輸出緩衝區,以防止緩衝問題導致紀錄隱藏。

  • 若服務的相依性正在被建立,則重新建立該容器。先前容器僅在相依性已存在但也在被重建時,才會被重建。

  • 新增警告,當 Compose 檔案中的 volume 被忽略並被先前容器的容器卷冊遮蓋時。

  • 在沒有 tty 的情況下執行時,改進 pull 的輸出。

  • 使用多個 Compose 檔案時,在嘗試合併前先驗證每個檔案。先前無效的檔案會導致無用的錯誤。

  • 允許在 environment 服務選項中的鍵包含破折號。

  • 改進驗證錯誤訊息,將檔名包含在錯誤訊息中。

1.5.0

(2015-11-03)

重大變更

隨著在 Compose 檔案中引入變數替換支援,任何在 command:entrypoint: 欄位中使用環境變數($VAR${VAR})的 Compose 檔案都將損毀。

先前這些值是在容器內進行插值,使用容器環境中的值。在 Compose 1.5.0 中,值將在主機上進行插值,使用主機環境中的值。

若要將 Compose 檔案遷移至 1.5.0,請使用額外的 $ 轉義變數(例如:$$VAR$${VAR})。請參閱 https://github.com/docker/compose/blob/8cc8e61/docs/compose-file.md#variable-substitution

主要功能

新功能

  • 現在可以選擇將模式傳遞給 volumes_from。例如,volumes_from: ["servicename:ro"]

  • 由於 Docker 現在允許您建立具有名稱的卷冊,您可以在 docker-compose.yml 中按名稱參考這些卷冊。例如,volumes: ["mydatavolume:/data"] 會將名為 mydatavolume 的卷冊掛載到容器內的 /data 路徑。

    volumes 中的項目第一個部分以 ./~ 開頭,它將被視為路徑,並根據需要進行相對路徑擴展。否則,它將被視為卷冊名稱並直接傳遞給 Docker。

    在此處閱讀更多關於命名卷冊和卷冊驅動程式的資訊:https://github.com/docker/docker/blob/244d9c33/docs/userguide/dockervolumes.md

  • docker-compose build --pull 指示 Compose 在建置前為每個 Dockerfile 拉取基礎映像檔。

  • docker-compose pull --ignore-pull-failures 指示 Compose 若無法拉取單一服務的映像檔時繼續執行,而非中止。

  • 現在可以使用 ipc 選項在 docker-compose.yml 中指定 IPC 命名空間。

  • docker-compose run 建立的容器現在可以使用 --name 旗標進行命名。

  • 如果您使用 pip 安裝 Compose 或將其用作程式庫,它現在適用於 Python 3。

  • image 現在支援映像檔摘要(除了 id 和標籤外)。例如,image: "busybox@sha256:38a203e1986cf79639cfb9b2e1d6e773de84002feea2d4eb006b52004ee8502d"

  • ports 現在支援連接埠範圍。例如,

    ports:
      - "3000-3005"
      - "9000-9001:8000-8001"
    
  • docker-compose run 現在支援 -p|--publish 參數,就像 docker run -p 一樣,用於將特定連接埠發佈到主機。

  • 已實作 docker-compose pausedocker-compose unpause,類似於 docker pausedocker unpause

  • 在使用 extends 從同一個 Compose 檔案中的另一個服務複製設定時,可以省略 file 選項。

  • Compose 可以安裝並作為 Docker 映像檔執行。這是一項實驗性功能。

錯誤修復 (Bug fixes)

1.4.2

(2015-09-22)

  • 修正了 1.4.1 版本中的一個回歸問題,該問題會導致不帶 -d 選項的 docker-compose up 立即退出。

1.4.1

(2015-09-10)

錯誤修復 (Bug fixes)

1.4.0

(2015-08-04)

  • 預設情況下,docker-compose up 現在僅會重新建立自建立以來設定已變更的服務之容器。這對於許多應用程式來說,應能大幅提升速度。

    Compose 1.3.0 中引入此功能的實驗性 --x-smart-recreate 旗標已被移除,並新增了 --force-recreate 旗標,供您想要重建所有內容時使用。

  • Compose 的數個指令 - scalestopkillrm - 現在會並行對多個容器執行動作,而非順序執行,這在較大型的應用程式上執行速度會快得多。

  • 現在可以使用 container_name 為服務的容器指定自訂名稱。由於 Docker 容器名稱必須唯一,這意味著您無法將服務擴展超過一個容器。

  • 使用 extends 時不再需要指定 file 選項 - 它將預設為當前檔案。

  • 服務名稱現在可以包含點、破折號和底線。

  • Compose 現在可以透過指定 - 作為檔名,從標準輸入讀取 YAML 設定,而非從檔案。這使得動態產生設定更容易

    $ echo 'redis: {"image": "redis"}' | docker-compose --file - up
    
  • 新增了一個 docker-compose version 指令,可列印關於 Compose 捆綁相依性的擴展資訊。

  • docker-compose.yml 現在支援 log_optlog_driver,允許您將額外的設定傳遞給服務的紀錄驅動程式。

  • docker-compose.yml 現在支援 memswap_limit,類似於 docker run --memory-swap

  • 使用 volumes 選項掛載卷冊時,現在可以傳遞 daemon 支援的任何模式,而不僅僅是 :ro:rw。例如,SELinux 使用者可以傳遞 :z:Z

  • 現在可以使用 docker-compose.yml 中的 volume_driver 選項指定自訂卷冊驅動程式,就像 docker run --volume-driver 一樣。

  • 修正了 Compose 無法從提供純文字(非安全)HTTP 的私人註冊中心拉取映像檔的錯誤。先前用於解決此問題的 --allow-insecure-ssl 旗標已被棄用,現在無效。

  • 修正了若建置相依於私人 Hub 映像檔或私人註冊中心的映像檔,docker-compose build 會失敗的錯誤。

  • 修正了若有 Docker daemon 尚未完成移除的容器,Compose 會當機的錯誤。

  • 修正了兩個錯誤,若 docker-compose.yml 中指定的卷冊路徑帶有尾隨斜線,Compose 有時會因「Duplicate bind mount」錯誤而失敗,或無法將卷冊附加到容器。

感謝 @mnowster, @dnephin, @ekristen, @funkyfuture, @jeffk 和 @lukemarsden!

1.3.3

(2015-07-15)

回歸修復

  • 優雅停止容器時,Compose 將逾時設定為 0,實際上每次都強制執行 SIGKILL。
  • Compose 有時會根據 Docker API 回傳的容器資料格式而當機。

1.3.2

(2015-07-14)

錯誤修復 (Bug fixes)

感謝 @dano, @josephpage, @kevinsimper, @lieryan, @phemmer, @soulrebel 和 @sschepens!

1.3.1

(2015-06-21)

錯誤修復 (Bug fixes)

1.3.0

(2015-06-18)

重要備註

  • 此版本包含破壞性變更,您將需要在執行應用程式前移除或遷移現有的容器 - 請參閱 安裝說明文件的升級區段 以獲取詳情。

  • Compose 現在需要 Docker 1.6.0 或更高版本。

改進

  • Compose 現在使用容器標籤而非名稱來追蹤容器。這使得 Compose 既快速又更容易與您自己的工具整合。

  • Compose 在重建服務容器時不再使用「中間容器」。這使得 docker-compose up 不那麼複雜,且更能抵禦失敗。

新功能

  • docker-compose up 具備一種實驗性的新行為:它僅會重新建立 docker-compose.yml 中設定已變更的服務之容器。這最終將成為預設行為,但現在您可以試用一下

      $ docker-compose up --x-smart-recreate
    
  • 當在專案的子目錄中呼叫時,docker-compose 現在會向上遍歷父目錄,直到找到 docker-compose.yml 為止。

docker-compose.yml 新增了數個新設定鍵

  • dockerfile,就像 docker build --file 一樣,讓您可以指定與 build 一起使用的替代 Dockerfile。
  • labels,就像 docker run --labels 一樣,讓您可以為容器新增自訂中繼資料。
  • extra_hosts,就像 docker run --add-host 一樣,讓您可以新增項目到容器的 /etc/hosts 檔案中。
  • pid: host,就像 docker run --pid=host 一樣,讓您可以重複使用與主機機器相同的 PID 命名空間。
  • cpuset,就像 docker run --cpuset-cpus 一樣,讓您可以指定允許在哪些 CPU 上執行。
  • read_only,就像 docker run --read-only 一樣,讓您可以將容器的檔案系統掛載為唯讀。
  • security_opt,就像 docker run --security-opt 一樣,讓您可以指定 安全選項
  • log_driver,就像 docker run --log-driver 一樣,讓您可以指定 紀錄驅動程式

錯誤修復 (Bug fixes)

感謝 @ahromis, @albers, @aleksandr-vin, @antoineco, @ccverak, @chernjie, @dnephin, @edmorley, @fordhurley, @josephpage, @KyleJamesWalker, @lsowen, @mchasal, @noironetworks, @sdake, @sdurrheimer, @sherter, @stephenlawrence, @thaJeztah, @thieman, @turtlemonvh, @twhiteman, @vdemeester, @xuxinkun 和 @zwily!

1.2.0

(2015-04-16)

  • docker-compose.yml 現在支援 extends 選項,使服務能夠繼承另一個設定檔案中服務的設定。這對於在應用程式間共享通用設定,或針對不同環境設定同一個應用程式非常有用。這裡是 說明文件

  • 當與 Swarm 叢集一起使用 Compose 時,相依的容器將被共同排程在同一個節點上。這意味著大多數 Compose 應用程式現在將能直接運作,只要它們不使用 build

  • 當與 Swarm 叢集一起使用 Compose 時,重複呼叫 docker-compose up 現在能可靠運作。

  • 傳遞給 build 的目錄、傳遞給 env_file 的檔名以及傳遞給 volumes 的卷冊主機路徑,現在被視為相對於 設定檔所在的目錄,而非 docker-compose 執行所在的目錄。在大多數情況下,兩者是一樣的,但如果您使用 -f|--file 引數在其他目錄中指定設定檔,這是一個破壞性變更

  • 服務現在可以透過 net: container:<service> 與另一個服務共享網路命名空間。

  • 在解析相依性時會考慮 volumes_fromnet: container:<service> 項目,因此 docker-compose up <service> 將正確啟動 <service> 的所有相依性。

  • docker-compose run 現在接受 --user 引數,就像 docker run 一樣,用於指定執行指令的使用者。

  • upstoprestart 指令現在接受 --timeout(或 -t)引數,就像 docker stop 一樣,用於指定優雅停止容器時要等待的時間。

  • docker-compose rm 現在接受 -f 作為 --force 的簡寫,就像 docker rm 一樣。

感謝 @abesto, @albers, @alunduil, @dnephin, @funkyfuture, @gilclark, @IanVS, @KingsleyKelly, @knutwalker, @thaJeztah 和 @vmalloc!

1.1.0

(2015-02-25)

Fig 已更名為 Docker Compose,簡稱 Compose。這對您有幾個影響

  • 您輸入的指令現在是 docker-compose,而非 fig
  • 您應該將 fig.yml 更名為 docker-compose.yml。
  • 如果您透過 PyPI 安裝,套件名稱現在是 docker-compose,請使用 pip install docker-compose 安裝。

除此之外,此版本還有許多新功能

  • 我們做了一些小變更以確保 Compose 能與 Swarm(Docker 的新叢集工具)運作 (https://github.com/docker/swarm)。最終您將能夠將 Compose 指向 Swarm 叢集而非單機 Docker 主機,它將在叢集上執行您的容器,無需您進行額外工作。由於 Swarm 仍在發展中,整合尚不完善,許多 Compose 功能還無法運作。

  • docker-compose run 現在具備 --service-ports 旗標,用於暴露指定服務的連接埠。這對於使用互動式偵錯器執行網頁應用程式很有用。

  • 您現在可以使用 docker-compose.yml 中的 external_links 選項,連結到應用程式之外的容器。

  • 您現在可以使用 --no-build 選項防止 docker-compose up 自動建置映像檔。這會進行較少的 API 呼叫且執行速度更快。

  • 若您在使用 image 金鑰時未指定標籤,Compose 將預設使用 latest 標籤,而非拉取所有標籤。

  • docker-compose kill 現在支援 -s 旗標,允許您指定要傳送給服務容器的確切訊號。

  • docker-compose.yml 現在具備 env_file 金鑰,類似於 docker run --env-file,讓您可以在獨立檔案中指定多個環境變數。這對於變數很多,或者您想將敏感資訊排除在版本控制之外時非常有用。

  • docker-compose.yml 現在支援 dns_searchcap_addcap_dropcpu_sharesrestart 選項,類似於 docker run--dns-search--cap-add--cap-drop--cpu-shares--restart 選項。

  • Compose 現在附帶 Bash 自動補全功能 - 請參閱安裝與使用說明文件 https://github.com/docker/compose/blob/1.1.0/docs/completion.md

  • 修復了許多錯誤 - 詳情請見里程碑:https://github.com/docker/compose/issues?q=milestone%3A1.1.0+

感謝 @dnephin, @squebe, @jbalonso, @raulcd, @benlangfield, @albers, @ggtools, @bersace, @dtenenba, @petercv, @drewkett, @TFenby, @paulRbr, @Aigeruth 和 @salehe!

1.0.1

(2014-11-04)

  • 新增 --allow-insecure-ssl 選項,允許 fig upfig runfig pull 從不安全的註冊中心拉取。
  • 修復 fig run 在 Jenkins 中未顯示輸出的問題。
  • 修復 fig 無法建置 Dockerfile 中指向 URL 的 ADD 陳述式之錯誤。

1.0.0

(2014-10-16)

亮點

  • Fig 加入了 Docker。 Fig 將會繼續維護,但我們也會將 Fig 的精華部分併入 Docker 本身。

    這意味著 GitHub 儲存庫已遷移至 https://github.com/docker/fig,我們的 IRC 頻道現在是 Freenode 上的 #docker-fig。

  • Fig 可與 官方 Docker OS X 安裝程式 一起使用。Boot2Docker 會掛載主機機器的家目錄,以便卷冊能按預期運作。

  • Fig 支援 Docker 1.3。

  • 現在可以透過 DOCKER_CERT_PATHDOCKER_TLS_VERIFY 環境變數,使用 TLS 連線到 Docker daemon。

  • 有一個新的 fig port 指令,它會輸出服務的主機連接埠繫結,類似於 docker port

  • 有一個新的 fig pull 指令,用於拉取服務的最新映像檔。

  • 有一個新的 fig restart 指令,用於重啟服務的容器。

  • Fig 會透過在服務名稱後加上數字來建立服務中的多個容器。例如,db_1db_2。為了方便起見,Fig 現在會將第一個容器指定為服務名稱的別名。例如,db

    此連結別名也是一個有效的主機名稱,並已加入 /etc/hosts,因此您可以使用主機名稱連接到連結的服務。例如,與其解析環境變數 DB_PORT_5432_TCP_ADDRDB_PORT_5432_TCP_PORT,您可以直接使用主機名稱 db 和連接埠 5432

  • 卷冊定義現在支援 ro 模式,擴展 ~ 並擴展環境變數。

  • 建置時支援 .dockerignore

  • 專案名稱可以使用 FIG_PROJECT_NAME 環境變數設定。

  • --env--entrypoint 選項已新增至 fig run

  • Linux 的 Fig 二進位檔現在連結到較舊版本的 glibc,因此可在 CentOS 6 和 Debian Wheezy 上運作。

其他內容

  • fig ps 現在可在 Jenkins 上運作,且對 Docker daemon 的 API 呼叫次數更少。
  • --verbose 顯示更有用的偵錯輸出。
  • 啟動 volumes_from 指向沒有任何執行中容器的服務時,該服務現在將會啟動。
  • 大量說明文件改進。值得注意的是,環境變數已完整記錄,且全程使用官方儲存庫。

感謝 @dnephin, @d11wtq, @marksteve, @rubbish, @jbalonso, @timfreund, @alunduil, @mieciu, @shuron, @moss, @suzaku 和 @chmouel!呼。

0.5.2

(2014-07-28)

  • fig build 新增 --no-cache 選項,就像 docker build --no-cache 一樣繞過快取。
  • 修復 dns: fig.yml 選項,這導致 fig 出錯。
  • 修復 fig 在 Python 2.6 下無法啟動的錯誤。
  • 修復導致 fig 偶爾退出的紀錄串流錯誤。

感謝 @dnephin 和 @marksteve!

0.5.1

(2014-07-11)

  • 若服務定義了指令,沒有進一步引數的 fig run [service] 將執行它。
  • 專案名稱現在預設為包含 fig.yml 的目錄,而非當前工作目錄(若兩者不同)
  • volumes_from 現在能正確處理容器以及服務
  • 修復 fig up 中重建容器時的競爭條件(race condition)

感謝 @ryanbrainard 和 @d11wtq!

0.5.0

(2014-07-11)

  • Fig 現在在執行 fig runfig up 時會啟動連結。

    例如,如果您有一個相依於 db 服務的 web 服務,fig run web ... 將啟動 db 服務。

  • 環境變數現在可以從 Fig 執行的環境中解析。只需在您的 fig.yml 中將其指定為空白變數,若已設定,它就會被解析

    environment:
      RACK_ENV: development
      SESSION_SECRET:
  • volumes_from 現在在 fig.yml 中受支援。來自指定服務和容器的所有卷冊都將被掛載

    volumes_from:
     - service_name
     - container_name
  • 現在可以在 ports 中指定主機位址

    ports:
     - "0.0.0.0:8000:8000"
     - "127.0.0.1:8001:8001"
  • networkdir 選項現在在 fig.yml 中受支援。

  • hostname 選項現在運作方式與 Docker CLI 相同,拆分為 domainname 選項。

  • TTY 行為更加穩健,且正確支援大小調整。

  • 安全地載入 YAML 檔案。

感謝 @d11wtq, @ryanbrainard, @rail44, @j0hnsmith, @binarin, @Elemecca, @mozz100 和 @marksteve 對此版本的幫助!

0.4.2

(2014-06-18)

  • 修復使用 fig runfig upfig build 時的各種編碼錯誤。

0.4.1

(2014-05-08)

  • 新增對 Docker 0.11.0 的支援。(感謝 @marksteve!)
  • 使專案名稱可設定。(感謝 @jefmathiot!)
  • fig run 回傳正確退出代碼。

0.4.0

(2014-04-29)

  • 支援 Docker 0.9 和 0.10
  • 在拉取映像檔時正確顯示進度條
  • fig up 現在會在任何容器退出時停止所有服務
  • 新增對 fig.yml 中 privileged 設定選項的支援(感謝 @kvz!)
  • 縮短並對齊 fig up 輸出中的紀錄首碼
  • 僅以 fig run 啟動的容器會連結回其自身服務
  • 串流 fig build/run/up 輸出時正確處理 UTF-8(感謝 @mauvm 和 @shanejonas!)
  • 錯誤訊息改進

0.3.2

(2014-03-05)

  • fig run 新增 --rm 選項。(感謝 @marksteve!)
  • fig.yml 新增 expose 選項。

0.3.1

(2014-03-04)

  • 新增貢獻說明。(感謝 @kvz!)
  • 修復 fig rm 拋出錯誤的問題。
  • 修復 Docker 0.8.1 上存在沒有指令的容器時,fig ps 中的一個錯誤。

0.3.0

(2014-03-03)

  • 我們現在為 OS X 和 Linux 提供二進位檔。無需再使用 Pip 安裝!
  • 新增 -f 旗標以指定替代的 fig.yml 檔案
  • 新增對自訂連結名稱的支援
  • 修復重建時有時會掛起的問題
  • 更新 docker-py 以支援 Docker 0.8.0。
  • 各種說明文件改進
  • 各種錯誤訊息改進

感謝 @marksteve, @Gazler 和 @teozkr!

0.2.2

(2014-02-17)

  • 使用 Cormen/Tarjan 拓撲排序解析相依性
  • 修復 fig up 未列印紀錄輸出的問題
  • 按啟動的相反順序停止容器
  • 修復 scale 指令未繫結連接埠的問題

感謝 @barnybug 和 @dustinlacewell 對此版本的工作。

0.2.1

(2014-02-04)

  • 錯誤報告的通用改進 (#77, #79)

0.2.0

(2014-01-31)

  • 將服務連結到其自身,以便 run 指令可以存取執行中的服務。(#67)
  • 更好的說明文件。
  • 使服務相依性解析更可靠。(#48)
  • 載入具有 .yaml 副檔名的 Fig 設定。(#58)

非常感謝 @cameronmaske, @mrchrisadams 和 @damianmoore 對此版本的幫助。

0.1.4

(2014-01-27)

  • 新增不帶專案名稱的連結別名。這使得環境變數稍微簡短一點: REDIS_1_PORT_6379_TCP_ADDR。(#54)

0.1.3

(2014-01-23)

  • 修復連接埠有時設定不正確的問題。(#46)
  • 修復紀錄輸出有時未顯示的問題。(#47)

0.1.2

(2014-01-22)

  • fig run 新增 -T 選項以停用虛擬 TTY。(#34)
  • 修復 fig up 需要拉取 ubuntu 映像檔才能重建容器的問題。(#33) 感謝 @cameronmaske!
  • 提高可靠性,修復方向鍵並修復 fig run 中的競爭條件。(#34, #39, #40)

0.1.1

(2014-01-17)

  • 修復連接埠未正確暴露的錯誤 (#29)。感謝 @dustinlacewell!

0.1.0

(2014-01-16)

  • 容器會在每次 fig up 時重建,確保設定與 fig.yml 一致 (#2)
  • 新增 fig scale 指令 (#9)
  • 使用 DOCKER_HOST 環境變數尋找 Docker daemon,與官方 Docker 用戶端保持一致(先前為 DOCKER_URL)(#19)
  • fig ps 中截斷長指令 (#18)
  • 填寫指令的 CLI 幫助標語 (#15, #16)
  • fig.yml 遺失時顯示更友好的錯誤 (#4)
  • 修復 fig build 紀錄的錯誤 (#3)
  • 修復若步驟在沒有產生輸出的情況下耗時過長,建置會逾時的錯誤 (#6)
  • 修復透過 Unix socket 串流容器輸出時引發錯誤的問題 (#7)

非常感謝 @tomstuart, @EnTeQuAk, @schickling, @aronasorman 和 @GeoffreyPlitt。

0.0.2

(2014-01-02)

  • 改進說明文件
  • 嘗試連線到 tcp://localdocker:4243 上的 Docker 以及除了 localhost 之外的 UNIX socket。
  • 改進 fig up 行為
  • fig rm 新增確認提示
  • 新增 fig build 指令

0.0.1

(2013-12-20)

初始版本。

© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.