Docker Compose 發行說明

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

2.39.2

2025-08-04

錯誤修復和增強

  • 修復了構建輸出的多個渲染問題
  • 修復了 `pull` 和 `no_cache` 屬性未與 `bake` 一起應用的問題
  • 移除了 `up` 命令中未明確附加服務的日誌顯示

更新

  • 依賴項升級:將 docker 引擎和 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` 部分引入了 `provenance` 和 `sbom` 屬性
  • 修復了 Windows 上的 `bridge convert` 問題
  • 修復了 `bake` 構建的多個問題

更新

  • 依賴項升級:將 docker 引擎和 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 引擎和 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` 命令
  • 移除了繫結掛載上的 `publish` 限制
  • 修復了將 docker socket 掛載到不需要它的容器的問題
  • 修復了 bake 輸出掛起的問題

更新

  • 依賴項升級:將 compose-go 提升到 v2.7.0
  • 依賴項升級:將 docker 引擎和 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 輸出格式
  • 修復了在不支援 watch 的專案上使用 `w` 快捷方式時發生的 panic
  • 修復了 Windows 上 bake 元資料檔案的許可權問題
  • 修復了提供程式服務啟動時的 panic 錯誤

更新

  • 依賴項升級:將 compose-go 提升到 v2.6.5
  • 依賴項升級:將 buildx 提升到 v0.25.0
  • 依賴項升級:將 buildkit 提升到 v0.23.0

2.37.1

2025-06-12

錯誤修復和增強

  • 修復了 Windows 上 bake 元資料檔案的許可權問題
  • 修復了提供程式服務啟動時的 panic 錯誤
  • 將 `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 引擎和 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` 新增到外部二進位制檔案
  • 引入了 build `--check` 標誌
  • 修復瞭解析 Compose 檔案時發生的多個 panic 問題

更新

  • 依賴項升級:將 compose-go 提升到 v2.6.2
  • 依賴項升級:將 docker 引擎和 cli 提升到 v28.1.0
  • 依賴項升級:將 containerd 提升到 2.0.5
  • 依賴項升級:將 buildkit 提升到 v0.21.1

2.35.1

2025-04-17

錯誤修復和增強

  • 修復了繫結掛載問題

更新

  • 依賴項升級:將 compose-go 提升到 v2.6.0
  • 依賴項升級:將 docker 引擎和 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` 時環境變數定義的 secrets 的支援
  • 修復了卷掛載處理,以確保繫結掛載在所有場景中都能正常工作

更新

  • 依賴項升級:將 docker 引擎和 cli 提升到 v28.1.0
  • 依賴項升級:將 buildx 提升到 v0.23.0
  • 依賴項升級:將 buildkit 提升到 v0.21.0

2.34.0

2025-03-14

錯誤修復和增強

  • 添加了對重新整理 `pull_policy` 值 `daily`、`weekly` 和 `every_<duration>` 的支援
  • 在 `watch` 定義中引入了 `include` 屬性以匹配檔案模式
  • 為 `docker compose run` 命令引入了 `--env-from-file` 標誌
  • 將 `publish` 提升為 Compose 的常規命令
  • 修復了在選擇服務後加載 `env_file` 的錯誤

更新

  • 依賴項升級:將 docker 引擎和 cli 提升到 v28.0.1
  • 依賴項升級:將 buildkit 提升到 v0.17.1
  • 依賴項升級:將 compose-go 提升到 v2.4.9
  • 依賴項升級:將 buildx 提升到 v0.21.2

2.33.1

2025-02-21

錯誤修復和增強

  • 添加了對 `gw_priority`、`enable_ipv4` 的支援(需要 Docker v28.0)
  • 修復了導航選單問題
  • 改進了與只讀服務一起使用非檔案 secret/config 時的錯誤訊息

更新

  • 依賴項升級:將 docker 引擎和 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
  • 修復了二進位制檔案的出處並生成 SBOM
  • 現在使用主分支進行文件上游驗證
  • 添加了 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 構建時的支援
  • 添加了 `restart` 和 `sync+exec` watch 操作
  • 當卷或網路配置更改時,Compose 現在會重新建立容器
  • 修復了對 `mac_address` 的支援
  • 修復了 `pull --quiet` 以僅隱藏進度,而不隱藏全域性狀態
  • 修復了只有 `rebuild` watch 操作現在需要構建宣告的問題
  • 當透過 Compose 選單啟用時,Compose 現在會記錄 `watch` 配置錯誤

2.31.0

2024-11-28

更新

  • 依賴項升級:將 compose-go 提升到 v2.4.5
  • 依賴項升級:將 docker 引擎和 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 引擎和 cli 提升到 v27.3.1

錯誤修復和增強

  • 引入了服務鉤子支援。
  • 添加了 alpha `generate` 命令。
  • 添加了 `export` 命令。
  • 添加了對 Compose 檔案中使用 `devices` 進行 CDI 裝置請求的支援。
  • 大量 bug 修復。

2.29.7

2024-09-20

錯誤修復和增強

  • 修復了使用掛載 API 進行繫結掛載時的迴歸問題。

2.29.6

2024-09-19

更新

  • 依賴項升級:將 docker 引擎和 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 引擎和 cli 提升到 v27.3.0-rc.1

錯誤修復和增強

  • 修復了重新啟動分歧的依賴項時服務未停止的問題。
  • 修復了 OTEL 客戶端上的潛在 `nil` 指標錯誤。

2.29.3

2024-09-12

更新

  • 依賴項升級:將 compose-go 提升到 v2.2.0
  • 依賴項升級:將 docker 引擎和 cli 提升到 v27.2.1

錯誤修復和增強

  • 現在允許將繫結掛載和 `rebuild` 組合與 `watch` 一起使用。
  • 修復了當 `up` 與 `--no-deps` 一起使用時重新建立容器的錯誤。
  • 修復了重新附加容器時未關閉流的錯誤。
  • 恢復了使用 `-V` 或 `--renew-anon-volumes` 時匿名卷的重新建立。

2.29.2

2024-08-16

更新

  • 依賴項升級:將 compose-go 提升到 v2.1.6
  • 依賴項升級:將 docker 引擎和 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`。
  • 修復了當 `sync-restart` Watch 動作用於單個容器時,Compose 程序停止的問題。

2.29.1

2024-07-23

更新

  • 依賴項升級:將 compose-go 提升到 v2.1.5。
  • 依賴項升級:將 docker 引擎和 cli 提升到 v27.1.0。

錯誤修復和增強

  • 使用更多欄位增強 JSON 進度事件。

2.29.0

2024-07-17

更新

  • 依賴項升級:將 compose-go 提升到 v2.1.4
  • 依賴項升級:將 docker 引擎和 cli 提升到 v27.0.3
  • 依賴項升級:將 buildx 提升到 0.16.0
  • 依賴項升級:將 buildkit 提升到 0.15.0
  • 依賴項升級:將 containerd 提升到 1.7.19

錯誤修復和增強

  • 添加了 JSON 流進度寫入器。
  • 為 `docker compose watch` 命令添加了 `--prune` 標誌。
  • 現在,在選擇服務後,不必要的資源將被排除。
  • 沒有值的空變數在容器中被 unset。

2.28.1

2024-06-24

錯誤修復和增強

  • 修復了在 TTY 模式可用時 `v2.28.0` 中損壞的進度顯示。

2.28.0

2024-06-21

更新

  • 依賴項升級:將 compose-go 提升到 v2.1.3
  • 依賴項升級:將 docker 引擎和 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 引擎和 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 引擎和 cli 提升到 v26.1.3
  • 依賴項升級:將 buildx 提升到 0.14.1
  • 依賴項升級:將 containerd 提升到 1.7.17

錯誤修復和增強

  • 在 CLI 中添加了一個導航選單,您可以在其中在 Docker Desktop 中開啟您的 Compose 檔案
  • 為 `docker compose up` 中的 `--menu` 標誌添加了文件
  • 修復了 `---resolve-image-digests` 與 `--no-interpolate` 一起使用時的錯誤
  • 您現在可以使用本地 `.env` 檔案覆蓋 `COMPOSE_*` 環境變數

2.27.0

2024-04-24

更新

  • 依賴項升級:將 golang 提升到 1.21.9
  • 依賴項升級:將 compose-go 提升到 v2.1.0
  • 依賴項升級:將 docker 引擎和 cli 提升到 v26.1.0

錯誤修復和增強

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

2.26.1

2024-03-29

更新

  • 依賴項升級:opencontainers/image-spec v1.1.0

錯誤修復和增強

  • 在輸出中添加了映象拉取失敗原因
  • 修復了在沒有構建和 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` 的環境載入
  • 修復了合併標籤/網路時的 panic
  • 添加了對使用 `include` 時 `--no-path-resolution` 的支援
  • 修復了缺失專案名稱的錯誤
  • 修復了 `config` 上的 `--no-interpolate` 標誌
  • 為 Windows 上的 Watch 模式的檔案鎖問題添加了一個 workaround
  • 修復了重複的退出程式碼狀態訊息
  • 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` 暴露服務埠。
  • 修復了內聯和環境定義的配置,使其掛載在 / 下,直到設定了顯式目標。
  • 修復了 `---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 提升到 1.20.2

錯誤修復和增強

  • Compose 現在支援 `builds.tags` 與 `push` 命令。
  • 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.driver` 或 `template_driver` 的 Compose 檔案。
  • 如果缺少依賴項,Compose 現在將無法啟動。
  • 修復了 SIGTERM 支援以停止/殺死堆疊。
  • 修復了 `--hash` 的迴歸。
  • 修復了當外部網路位於受監控的服務上時,“應用程式更新後未能啟動”的問題。
  • 修復了 `--pull` 文件。
  • 透過在 cmd/compose/build.go 中新增換行符來修復顯示。
  • Compose 在應用過濾器後呈現為靜默。
  • 從 docker-compose up 輸出中去除了專案字首。

2.23.0

2023-10-18

更新

  • 依賴項升級:將 compose-go 提升到 v1.20.0
  • 依賴項升級:將 containerd 提升到 1.7.7

錯誤修復和增強

  • 添加了對釋出命令的空執行支援
  • 添加了 `COMPOSE_ENV_FILES` 環境變數以傳遞環境變數檔案列表
  • 為 `compose watch` 添加了 `sync+restart` 操作
  • 使 `compose ps` 輸出與 Docker CLI 預設對齊,並引入了 `--no-trunc` 以保持以前的行為
  • 修復了 `up` 和 `configure` 之間雜湊不一致的問題
  • 當 `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 傳遞給 `up` 和 `run` 命令。

2.21.0

2023-08-30
注意

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

更新

  • 依賴項升級:將 compose-go 提升到 v1.18.3

錯誤修復和增強

  • 更改了 `docker compose ps` 和 `docker compose ps --format=json` 的輸出,以與 Docker CLI 對齊。
  • 添加了對多文件 YAML 檔案的支援。
  • 添加了對從 Git 倉庫載入遠端 Compose 檔案(透過 `include`)(實驗性)的支援。
  • 修復了構建過程中不正確的代理變數。
  • 修復了容器退出時容器日誌被截斷的問題。
  • 修復了在使用 `include` 和 `--profile` 時出現“無此類服務”的錯誤。
  • 修復了使用 `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 上目標 secret 路徑的錯誤。
  • 修復了使用 `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` 命令添加了對 `--builder` 和 `BUILDX_BUILDER` 的支援。
  • 添加了對 Compose 規範中 `include` 和 `attach` 屬性的支援。
  • 修復了初始化 CLI 客戶端時的 DryRun 模式問題。
  • 修復了當服務有多個網路時隨機缺少網路的錯誤。
  • 修復了 Secrets 檔案許可權值以符合 Compose 規範。
  • 修復了 `no-deps` 標誌未應用的問題。
  • 修復了一些原始碼註釋。
  • 修復了當 `--index` 未設定選擇時的錯誤。
  • 修復了 wait e2e 測試中的程序洩漏。
  • 提高了一些測試速度。

2.19.1

2023-06-29

更新

  • 依賴項升級:將 compose-go 提升到 v1.15.1

錯誤修復和增強

  • 修復了 `compose up` 上偶爾出現的“容器未連線到網路”錯誤。
  • 修復了 `compose build` 上的“請指定構建上下文”錯誤。
  • 當服務 `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”策略。
  • 修復了當一個容器退出時等待容器的競態條件。
  • 添加了一個警告,告知使用者 `build.secrets` 不支援 uid、gid、mode。
  • 修復了 `watch` 中的錯誤,該錯誤監視了整個構建上下文而不是僅配置的路徑。
  • Compose 現在按建立日期對容器進行排序,以首先縮減舊的容器。
  • 修復了 Windows 環境下文件生成任務中的錯誤。
  • 更新了文件以反映空執行模式功能已完成。
  • 改進了網路標籤不匹配的診斷訊息。
  • 修復了在沒有構建的情況下渲染 `Building` 部分的錯誤。
  • 修復了程式碼覆蓋率指標中的錯誤。
  • 添加了 OTEL 初始化。
  • 添加了一個 GitHub 操作,以使用 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 現在允許使用者宣告構建 secret 目標
  • 修復了當配置未更改時導致容器重新建立的錯誤
  • 修復了當 `--parallel` 與大量依賴服務一起使用時的競態條件
  • Compose 現在會檢查本地映象是否與所需平臺匹配
  • 修復了當 `compose down` 與 `--project-name` 一起執行時刪除本地映象的問題
  • Compose 現在會檢測活動端點何時嘗試刪除網路,並跳過併發出警告
  • 移除了不必要的 [] 輸出
  • Compose 檢測到 Windows 終端不是 `console.File`,以避免 panic
  • `--parallel` 現在優先於 `COMPOSE_PARALLEL_LIMIT`
  • 當 Swarm 被停用時,Compose 現在會報告找不到外部網路

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

錯誤修復和增強

  • 修復了 `alpha watch` 命令的 panic。Pull Request compose#10393
  • 防止了名為 `extensions` 的服務衝突。修復了 compose-go#247
  • Compose 現在更一致地驗證專案名稱。修復了 compose-go#363

2.17.0

2023-03-23

升級注意事項

  • 專案名稱驗證更加嚴格。專案名稱只能包含字母、數字、`_`、`-`,並且必須是小寫並以字母或數字開頭。
  • YAML 中的布林欄位必須是 `true` 或 `false`。不再支援已棄用的 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` 輸出按服務名稱排序。Pull Request compose#10278
  • Compose 現在會渲染一個緊湊的 TUI 進度報告以監控層下載。Pull Request compose#10281
  • 為 `depends_on` 引入了 `restart`。修復了 compose#10284
  • 添加了對 `NO_COLOR` 環境變數的支援。修復了 compose#10340
  • 進度寫入器現在使用 `dockercli.Err` 流。修復了 compose#10366
  • 在 `build` 服務配置中添加了對 `additional_contexts` 的支援。修復了 compose#9461 compose#9961
  • 在 `watch` 模式中添加了檔案刪除/重新命名處理。Pull Request compose#10386
  • 在 `watch` 模式中引入了 `ignore` 屬性。Pull Request compose#10385
  • Compose 現在使用進度寫入器顯示覆制狀態。Pull Request 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 集合的問題。Pull Request compose#10372
  • 使用配置的名稱分隔符定義一次性容器名稱。修復了 compose#10354
  • 修復了重新建立容器時併發對映讀/寫問題。修復了 compose#10319
  • Compose 現在支援 `stop` 和 `rm` 命令的空執行模式。Pull Request compose#10257
  • Compose 現在支援 `pull` 命令的空執行模式。Pull Request compose#10341
  • Compose 現在支援 `push` 命令的空執行模式。Pull Request compose#10355
  • Compose 現在支援 `exec` 命令的空執行模式。Pull Request compose#10252
  • Compose 現在支援 `restart` 命令的空執行模式。Pull Request 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` 功能到執行。修復了 compose#9718
  • 引入了實驗性 `watch` 命令。Pull Request compose#10163
  • Compose 現在允許使用 `-t` 分配 TTY。修復了 compose#10161
  • 引入了實驗性 `dry-run` 命令。Pull Request compose#10173
  • 更新了文件以解釋配置並行性的方法。Pull Request compose#10198
  • 使 `logs` 命令與 docker CLI 對齊,透過將 `-n` 別名為 `--tail`。修復了 compose#10199
  • 添加了對 `docker compose build --push` 的支援。Pull Request compose#10148
  • 為 `compose create` 命令添加了 `--scale`。修復了 compose#10208
  • 將 `convert` 重新命名為 `config` 以與 Compose V1 UX 對齊。Pull Request compose#10214
  • Compose 現在將代理配置作為構建引數傳遞。修復了 compose#8797
  • 修復了 `compose up` 中的解析問題,透過忽略非 Compose 建立的容器。修復了 compose#10162
  • 修復了日誌格式化程式初始化中的 goroutine 洩漏。修復了 compose#10157
  • 修復了當所有正在執行的容器都已停止時 Compose 日誌不退出的問題。Pull Request compose#10181
  • 修復了文件以反映 `docker compose ps` 與 `docker ps` 對齊。Pull Request compose#10195
  • 修復了未找到遠端 Buildx 驅動程式的問題。修復了 compose#9893
  • 改進了重新建立服務容器時的日誌記錄。Pull request compose#10236
  • 修復了一個問題,現在 Compose 只等待與等待條件相關的容器。修復了 compose#10200
  • Compose 現在阻止賦值給 nil 對映中的條目。修復了 compose#10244
  • 為 Cucumber 測試添加了專門的 GitHub Actions 工作流程。Pull Request compose#10165
  • 在切換到緊湊日誌模式時清理了 TUI 行。修復了 compose#10201
  • 添加了 Tilt watcher 以在 watch 模式下檢測程式碼更改。Pull Request compose#10218
  • Compose 現在支援 `kill` 命令的空執行模式。修復了 compose#10210
  • Compose 現在支援 `pause` 命令的空執行模式。修復了 compose#10217
  • Compose 現在支援 `cp` 命令的空執行模式。修復了 compose#10235

2.15.1

2023-01-09

更新

  • 依賴項升級以修復 Golan CVE-2022-27664 和 CVE-2022-32149

錯誤修復和增強

  • 添加了對 UTS 名稱空間的支援。修復了 compose#8408
  • 修復了未設定過濾器時的過濾問題。修復了 roadmap#418
  • 修復了構建步驟期間併發對映寫入問題。Pull Request 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` 屬性的支援。Pull Request compose#10112
  • 引入了 `--ignore-buildable` 以在拉取時忽略可構建映象。修復了 compose#8805
  • 引入了 `--no-attach` 以忽略某些服務輸出。修復了 compose#8546
  • 修復了當 `driver:none` 設定時 `logs` 的問題。修復了 compose#9030
  • Compose 現在依賴於 dockerCLI.streams。Pull Request compose#10082
  • 修復了服務雜湊必須排除副本的問題。修復了 compose#10077
  • Compose 現在根據專案檢查服務名稱,而不是執行中的容器。修復了 compose#9951
  • 修復了安全選項支援(seccomp 和 unconfined)。修復了 compose#9505
  • 修復了在使用 compose config 時如果原始檔較小則檔案為空的問題。修復了 compose#10121
  • 修復了 `compose up` 未應用 `--pull` 的問題。修復了 compose#10125
  • Compose 不僅應該忽略自動刪除的容器,還應該忽略“正在刪除”的孤立容器。Pull Request 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 logs 上的競態條件。修復了 compose#8880
  • 透過將 `projectOptions` 重新命名為 `ProjectOptions` 使其公開。修復了 compose#100102

2.14.1

2022-12-15

更新

  • 依賴項升級:將 Go 提升到 1.19.4
  • 依賴項升級:將 containerd 提升到 1.6.12

錯誤修復和增強

  • 添加了 `--parallel` 以限制併發引擎呼叫。Pull Request compose#10030
  • 區分了 `up` 日誌中的 stdout 和 stderr。修復了 compose#8098
  • 使 `compose ps` 輸出與 `docker ps` 對齊。修復了 compose#6867
  • 為 push 命令添加了 `--include-deps`。Pull Request compose#10044
  • 在 `compose up` 上引入了 `--timestamp` 選項。修復了 compose#5730
  • Compose 現在在從環境中建立 secret 時應用 uid/gid。Pull Request compose#10084
  • 修復了等待附加依賴項時的死鎖。修復了 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` 欄位。Pull Request compose#10019
  • 為 tmpfs 掛載許可權添加了 mode 欄位。Pull Request 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
  • 修復了 `run` 用於使用 `network_mode: service:NAME` 的服務。修復了 compose#10036

2.13.0

2022-11-23

更新

  • 依賴項升級:將 containerd 提升到 1.6.10
  • 依賴項升級:將 docker-credential-helpers 提升到 v0.7.0
  • 更新 CI 依賴項。Pull Request compose#9982

錯誤修復和增強

  • 為 `convert` 命令添加了 `no-consistency` 選項。修復了 compose#9963
  • 為 `run` 命令添加了 `build` 選項。修復了 compose#10003
  • 修復了將 restart_policy.condition 對映到引擎支援的值。修復了 compose#8756docs#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
  • 將標記為 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

更新

錯誤修復和增強

  • 修復了一個錯誤,以防止在有效的環境變數值上出現“無效模板”錯誤。修復了 compose##9806compose##9746compose##9704compose##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
  • 依賴項:修復了圖遍歷期間的競態條件。修復了 compose#9014
  • CI 現在在 Windows 和 macOS 上執行,包括透過 Docker Desktop 的 E2E 測試
  • service.platform 不屬於 service.build.platforms 時,添加了更多資訊
  • GitHub 工作流安全強化

有關完整的更改日誌或附加資訊,請檢視 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
  • 修復了 down--rmi。修復了 compose#9655
  • 修復了 docker-compose convert 在使用 --no-interpolate 選項時將 $ 轉換為 $$ 的問題。修復了 compose#9160
  • 修復了 build.go 直接訪問自定義標籤導致 panic 的問題。請參閱 compose#9810
  • 將新載入的環境變數應用於“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 語法更新到最新穩定版並重命名了 docs 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

錯誤修復和增強

  • 將環境變數優先順序恢復為作業系統高於 .env 檔案。修復了 compose#9737
  • 更新了用法字串以保持一致性。
  • 在 Windows 上不區分大小寫地解析環境變數。修復了 compose#9431
  • 修復了 compose up,以便在發出停止訊號時不會停止依賴容器。這與 v1 的行為保持一致。
  • 修復了 compose#9696
  • 修復了 start/restart/pause/unpause 命令,以便如果從 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 到 linters 來提高程式碼質量。

錯誤修復和增強

有關完整的更改日誌或附加資訊,請檢視 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
  • 修復了環境變數值中的雜湊使用。修復了 compose#9509
  • Docker Build:為經典構建器添加了修復,以遵守依賴順序。修復了 compose#8538
  • 修復了空字串引數導致的 panic。修復了 compose-switch#35
  • 修復了 start/restart,使其不會影響一次性容器。修復了 compose#9509
  • 修復了當 volumes_from 目標是容器而不是服務時保留容器引用。修復了 compose#8874
  • build.go:添加了修復以在 CustomLabels 對映為 nil 時進行初始化。
  • 添加了新目標,以在執行 e2e 測試之前構建 Compose 二進位制檔案。
  • CI:釋出了工作流,以在 docs 儲存庫上開啟一個帶有最新更改的 PR。
  • e2e:添加了 ps 的測試。
  • e2e:拆分暫停測試並新增更多用例。
  • e2e:新增更多 start/stop 測試用例。

有關完整的更改日誌或附加資訊,請檢視 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 出現的“服務未找到”錯誤。修復了 #9427
  • 修復了 compose down,使其遵守 COMPOSE_REMOVE_ORPHANS 環境變數。修復了 #9562
  • 修復了專案級別繫結掛載卷。修復了 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 解組到容器摘要中。
  • e2e:修復了子測試和塊並行不安全測試。
  • e2e:隔離了測試命令環境與系統環境。
  • e2e:修復了偶發性 ps 失敗。
  • e2e:確保所有 compose 命令獨立相容。
  • e2e:改進了失敗時的測試輸出。

有關完整的更改日誌或附加資訊,請檢視 Compose 儲存庫 2.6.1 釋出頁面

2.6.0

2022-05-30

新增

  • 向構建部分添加了 tags 屬性。在此屬性中,可以定義要應用於最終映象的標籤,除了 image 屬性中定義的標籤。
  • 添加了端到端測試,以確保環境變數優先順序沒有迴歸。
  • 添加了 ddev 的端到端測試。

更新

錯誤修復和增強

  • 修復了 compose up,使其僅附加到專案中宣告的、啟用了配置檔案的服務。修復了 #9286
  • 修復了從多個服務拉取相同映象時閃爍的提示。修復了 #9469
  • 修復了 compose go 以將 .env 檔案匯入到 OS 環境,以允許透過此檔案設定變數(例如 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:現在如果沒有要刪除的內容,則以 status=0 退出。修復了 #9426
  • 修復了使用 --no-log-prefix 選項時日誌輸出行中多餘的空格。修復了 #9464
  • 澄清了傳遞多個 compose 檔案時的預設工作目錄。
  • cp 命令:預設行為是將檔案複製到服務的所有容器。

有關完整的更改日誌或附加資訊,請檢視 Compose 儲存庫 2.5.1 釋出頁面

2.5.0

2022-04-29

錯誤修復和增強

  • 修復了 compose down 命令在指定 -p 標誌時出現的 panic。修復了 #9353
  • 將新建立的專案作為輸入傳遞給啟動服務(docker compose up)。修復了 #9356
  • 將 docker-compose 檔案中 links 下宣告的服務包含為隱式依賴項。修復了 #9301
  • docker compose pull 命令進行了更改,以遵守定義的策略:1)跳過配置為 pull_policy: never 的服務;2)忽略具有現有映象且 pull_policy: missing 的服務。修復了 #3660
  • 不再忽略從資源構建專案時的錯誤,以防止 down panic。修復了 #9383
  • 強制專案名稱為小寫。修復了 #9378
  • 添加了對構建時秘鑰的支援。修復了 #6358
  • 更改了 compose-go,以允許(重新)構建卷字串,以便在無法使用掛載時由引擎 bind API 使用。修復了 #9380
  • 提供了 checksums.txt 檔案並添加了 --binary 以允許在不同作業系統中進行驗證。修復了 #9388
  • 添加了更改,以便檢查本地拉取映象的 ID 並將其持久化到 com.docker.compose.image。修復了 #9357
  • 修復了 IPAM 閘道器設定問題。修復了 #9330
  • 添加了對 ppc64le 架構的 docker compose 二進位制檔案的支援。
  • 修復了 --no-TTY 文件中的搜尋/替換拼寫錯誤。

有關完整的更改日誌或附加資訊,請檢視 Compose 儲存庫 2.5.0 釋出頁面

2.4.1

2022-04-04

錯誤修復和增強

  • 在執行帶有 --rm flag 的容器時,將 --rm flag 值按原樣傳遞給 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,以修復處理構建上下文掃描錯誤時可能發生的 panic。

錯誤修復和增強

  • 將互動式標誌 '-i' 從 Compose CLI 傳遞到 Docker CLI 以執行 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 依賴項固定到與 buildx 中相同的版本。
  • 將互動式標誌從 Compose CLI 傳遞到 Docker CLI 以執行 exec 命令。
  • 修復了並行執行 start-stop 端到端測試時的競態條件。
  • 刪除了有關過時警告的程式碼。
  • 供應商: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
  • 從執行和 exec 命令的 -i 和 -t 選項中刪除了“已棄用”提及。這些選項預設啟用並正在使用中。修復了 #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 參考文件自動化,以獲取程式碼與文件的差異。

有關完整的更改日誌或附加資訊,請檢視 Compose 儲存庫 2.3.4 釋出頁面

其他版本

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

對於 1.29.2 之後和 2.3.4 之前的版本,請檢視 Compose 儲存庫釋出頁面

1.29.2

(2021-05-10)

雜項

  • 刪除了 up 命令中使用 docker-compose 的提示。

  • requirements-indirect.txt 中的 py 提升到 1.10.0

1.29.1

(2021-04-13)

錯誤

  • 修復了 Windows 構建中無效處理程式警告。

  • 修復了配置雜湊以在 IPC 模式更新時觸發容器重新建立。

  • 修復了 placement.max_replicas_per_node 的轉換對映。

  • 刪除了構建時多餘的掃描建議。

1.29.0

(2021-04-06)

特性

  • docker-compose config 添加了配置檔案過濾器。

  • 添加了一個 depends_on 條件,以等待服務成功完成。

雜項

  • 在構建時添加了映象掃描訊息。

  • 更新了 --no-ansi 的警告訊息,以提及 --ansi never 作為替代。

  • 將 docker-py 提升到 5.0.0。

  • 將 PyYAML 提升到 5.4.1。

  • 將 python-dotenv 提升到 0.17.0。

1.28.6

(2021-03-23)

錯誤修復

  • 使 --env-file 相對於當前工作目錄。現在,透過 --env-file 設定的環境檔案路徑相對於當前工作目錄,並覆蓋位於專案目錄中的預設 .env 檔案。

  • 透過更新 Compose 架構修復了缺少服務屬性 storage_opt 的問題。

  • 修復了構建 extra_hosts 列表格式。

  • 刪除了 exec 上的附加錯誤訊息。

雜項

  • compose.ymlcompose.yaml 新增到預設檔名列表。

1.28.5

(2021-02-26)

錯誤

  • 修復了在 shelling out 到 SSH 客戶端時出現的 OpenSSL 版本不匹配錯誤(透過將 docker-py 提升到包含修復的 4.4.4)。

  • 為原生構建器添加了缺少的構建標誌:platformisolationextra_hosts

  • 刪除了原生構建上的資訊訊息。

  • 修復了當服務日誌驅動程式設定為“none”時日誌獲取錯誤。

1.28.4

(2021-02-18)

錯誤修復

  • 透過將 docker-py 提升到 4.4.3 修復了 SSH 埠解析。

雜項

  • 將 Python 提升到 3.7.10。

1.28.3

(2021-02-17)

錯誤修復

  • 修復了 SSH 主機名解析,當它包含前導 's'/'h' 時,並刪除了隱藏錯誤的 quiet 選項(透過將 docker-py 提升到 4.4.2)。

  • 修復了 --no-log-prefix 選項的鍵錯誤。

  • 修復了服務配置檔案的 CLI 環境變數名稱不正確:COMPOSE_PROFILES 而不是 COMPOSE_PROFILE

  • 修復了 fish 補全。

雜項

  • 將 cryptography 提升到 3.3.2。

  • 刪除了日誌驅動程式過濾器。

有關此版本中修復的 PR 和問題列表,請參閱 Compose 1.28.3

1.28.2

(2021-01-26)

錯誤修復

  • 恢復到 Python 3.7,以進行 Linux 靜態構建

  • docker-compose logs|up --no-log-prefix 新增 bash 補全

雜項

  • CI 設定更新

1.28.0

(2021-01-20)

特性

  • 添加了透過裝置請求支援 NVIDIA GPU。

  • 添加了對服務配置檔案的支援。

  • 將 SSH 連線方式更改為 Docker CLI,方法是 shelling out 到本地 SSH 客戶端。設定 COMPOSE_PARAMIKO_SSH=1 環境變數以啟用舊行為。

  • 添加了一個標誌以停用日誌字首。

  • 添加了一個標誌以控制 ANSI 輸出。

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

錯誤修復

  • 預設情況下將 parallel_pull=True

  • 恢復了非 Swarm 模式下配置的警告。

  • 在定義 project_dir 時考慮了 --file

  • 修復了 compose up 上的服務附加錯誤。

雜項

  • 添加了使用情況指標。

  • 將架構與 COMPOSE 規範同步。

  • 改進了缺少強制環境變數的失敗報告。

  • attrs 提升到 20.3.0。

  • more_itertools 提升到 8.6.0。

  • cryptography 提升到 3.2.1。

  • cffi 提升到 1.14.4。

  • virtualenv 提升到 20.2.2。

  • bcrypt 提升到 3.2.0。

  • 將 GitPython 提升到 3.1.11。

  • docker-py 提升到 4.4.1。

  • 將 Python 提升到 3.9。

  • Linux:將 Debian 基礎映象從 stretch 提升到 buster(Python 3.9 所需)。

  • macOS:將 OpenSSL 1.1.1g 提升到 1.1.1h,並將 Python 3.7.7 提升到 3.9.0。

  • 將 PyInstaller 提升到 4.1。

  • 放寬了對基礎映象的限制,只允許最新的次要版本。

  • 更新了 README。

1.27.4

(2020-09-24)

錯誤修復

  • 刪除了繫結掛載的路徑檢查。

  • 修復了埠渲染,以輸出非 v1 的長格式語法。

  • 將協議新增到 Docker socket 地址。

1.27.3

(2020-09-16)

錯誤修復

  • docker-compose config 上合併了 max_replicas_per_node

  • 修復了 docker-compose config 上的 depends_on 序列化。

  • 修復了 docker-compose up 上某些容器未執行時縮放的問題。

  • local 驅動程式啟用了 driver_opts.device 的相對路徑。

  • 允許 cpus 欄位為字串。

1.27.2

(2020-09-10)

錯誤修復

  • 修復了 docker-compose run 容器附加上的錯誤。

1.27.1

(2020-09-10)

錯誤修復

  • 修復了指定 service.scale 時的 docker-compose run

  • 允許外部網路的 driver 屬性作為 Swarm 網路傳播問題的臨時解決方案。

  • 將新的內部架構版本固定為預設的 3.9

  • 保留了 Compose 檔案中配置的版本號。

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

錯誤修復

  • 在不需要構建時忽略構建上下文路徑驗證。

  • 透過將 docker-py 提升到 4.3.1 修復了浮點數到位元組的轉換。

  • 修復了設定 deploy 部分時的 scale 錯誤。

  • 修復了 setup.py 中的 docker-py 提升。

  • 修復了實驗性構建失敗檢測。

  • 修復了上下文傳播到 Docker CLI。

雜項

  • docker-py 提升到 4.3.1。

  • tox 提升到 3.19.0。

  • virtualenv 提升到 20.0.30。

  • 添加了文件同步指令碼。

1.26.2

(2020-07-02)

錯誤修復

  • 在使用 pip 安裝時強制 docker-py 4.2.2 為最低版本。

1.26.1

(2020-06-30)

特性

  • docker-py 從 4.2.1 提升到 4.2.2。

錯誤修復

  • 在使用 pip 安裝時強制 docker-py 4.2.1 為最低版本。

  • 修復了非 docker 端點的上下文載入。

1.26.0

(2020-06-03)

特性

  • 添加了 docker context 支援。

  • setup.py 添加了缺少的測試依賴項 ddt

  • 為命令 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。

錯誤修復

  • 正確轉義來自 env_files 的值。

  • 將 compose-schemas 與上游 (docker/cli) 同步。

  • 刪除了 exec 命令上的 None 條目。

  • 添加了 distribution 包以獲取分發資訊。

  • 添加了 python-dotenv 以委託 .env 檔案處理。

  • 當透過管道輸出到另一個命令時,停止調整終端寬度上的輸出。

  • version 屬性格式錯誤時顯示錯誤訊息。

  • DOCKER_HOST 是遠端時修復 HTTPS 連線。

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)

錯誤修復

  • 修復了 CI 指令碼以強制 MacOS 的最小版本為 10.11。

  • 修復了 docker-compose exec 在環境檔案中沒有值的鍵。

1.25.3

(2020-01-23)

錯誤修復

  • 修復了 CI 指令碼以強制使用 Python3 進行編譯。

  • 更新了釋出頁面上的二進位制檔案的 sha256。

1.25.2

(2020-01-20)

新功能

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

錯誤修復

  • 修復了當 version 欄位設定為無效值時導致 Docker Compose 崩潰的問題。當在 version 欄位中使用無效值時,Docker Compose 現在顯示錯誤訊息。

  • 修復了當在終端外部執行命令時導致 Docker Compose 訊息渲染不正確的問題。

1.25.1

(2020-01-06)

錯誤修復

  • 在使用 APIError 解釋建立和啟動容器之前將其解碼為 Unicode。

  • Docker Compose 丟棄值為空的 com.docker.compose.filepaths 標籤。這通常發生在標籤源自 stdin 時。

  • 新增 OS X 二進位制檔案作為目錄,以解決 macOS Catalina 二進位制檔案掃描導致啟動時間過慢的問題。

  • 在容器模式下使用 script/run/run.sh 執行時傳遞了 HOME 環境變數。

  • Docker Compose 現在會報告無法拉取但需要構建的映象。

1.25.0

(2019-11-18)

新功能

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

  • 將工作目錄、配置檔案和 env 檔案新增到服務標籤。

  • 添加了 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 配置選項的支援。

  • 無需拉取映象即可解析摘要。

  • pyyaml 升級到 4.2b1 版本。

  • 對於 down 嘗試刪除不存在的映象的情況,嚴重性降低為 warning

  • 在可能的情況下,強制使用改進的 API 欄位進行專案事件。

  • 更新了 setup.py 以適應現代 pypi/setuptools,並刪除了 pandoc 依賴項。

  • 刪除了不再需要的 Dockerfile.armhf

錯誤修復

  • 使容器服務顏色具有確定性,包括刪除紅色。

  • 修復了非 ASCII 字元錯誤(僅限 Python 2)。

  • 將映象大小調整為十進位制格式,以與 Docker CLI 對齊。

  • 透過 Python POSIX 支援獲取 tty 大小。

  • 修復了相同檔案 extends 最佳化。

  • 修復了 stdin_open

  • 修復了在使用 up --no-start 選項時忽略 --remove-orphans 的問題。

  • 修復了 docker-compose ps --all 命令。

  • 修復了 depends_on 依賴項重新建立行為。

  • 修復了 docker-compose build --memory 命令的 bash 補全。

  • 修復了執行 docker-compose exec 命令時出現的誤導性環境變數警告。

  • 修復了 parallel_execute_watch function 中的失敗檢查。

  • 修復了拉取映象後出現的競態條件。

  • 修復了重複掛載點上的錯誤(現在顯示配置錯誤訊息)。

  • 修復了 networks 部分的合併。

  • Compose 容器預設始終連線到 stdin

  • 修復了當容器不可用時 docker-compose start 命令上失敗服務的顯示。

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

錯誤修復

  • 修復了一個錯誤,即 Compose 在嘗試從私有登錄檔拉取映象時未能正確處理某些有效的憑據助手。

  • 修復了一個問題,即 docker-compose start 在容器建立之前輸出具有誤導性。

  • Compose 將不再接受從環境檔案獲取的變數名中的空格。這與 Docker CLI 行為匹配。

  • 如果服務嘗試在 volumes 部分宣告重複的掛載點,Compose 現在將報告配置錯誤。

  • 修復了 Compose 的容器化版本中導致使用者在由 runexec 啟動的互動式會話期間無法寫入 stdin 的問題。

  • run 啟動的一次性容器不再採用服務的重啟策略,而是設定為永不重啟。

  • 修復了一個問題,即某些容器事件不會出現在 docker-compose events 命令的輸出中。

  • 缺少映象將不再停止 docker-compose down 命令的執行。現在顯示警告。

  • 強制 macOS CI 的 virtualenv 版本。

  • 修復了網路具有 None 配置時 Compose 檔案的合併。

  • 透過在 pyinstaller 中啟用 bootloader_ignore_signals 修復了 CTRL+C 問題。

  • docker-py 版本提升到 3.7.2,以修復 SSH 和代理配置問題。

  • 修復了釋出指令碼和釋出文件中的一些錯別字。

1.23.2

(2018-11-28)

錯誤修復

  • 恢復了 1.23.0 中將隨機字串附加到 docker-compose up 建立的容器名稱的更改,導致定址問題。

    注意

    docker-compose run 建立的容器將繼續使用隨機生成的名稱,以避免並行執行期間的衝突。

  • 修復了一個問題,即某些 dockerfile 路徑在 Windows 上嘗試構建時會意外失敗。

  • 修復了一個錯誤,即構建上下文 URL 在 Windows 上無法構建。

  • 修復了一個錯誤,即 runexec 命令對 --host 引數的某些可接受值會失敗。

  • 修復了一個問題,即服務定義中 storage_optisolation 鍵的覆蓋未正確應用。

  • 修復了一個錯誤,即某些無效的 Compose 檔案在驗證期間會引發未捕獲的異常。

1.23.1

(2018-11-01)

錯誤修復

  • 修復了一個錯誤,即使用早於 1.23.0 版本的 Compose 建立的容器時會導致意外崩潰。

  • 修復了一個問題,即 --project-directory 標誌的行為會因所使用的子命令而異。

1.23.0

(2018-10-30)

重要提示

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

特性

  • 崩潰後重新啟動的容器的日誌現在將出現在 uplogs 命令的輸出中。

  • docker-compose config 命令添加了 --hash 選項,允許使用者列印每個服務配置的雜湊字串,以方便滾動更新。

  • docker-compose build 命令添加了 --parallel 標誌,允許 Compose 同時構建多達 5 個映象。

  • 即使在並行拉取多個映象時,pull 命令的輸出也會報告狀態/進度。

  • 對於具有多個名稱的映象,Compose 現在將嘗試匹配 images 命令輸出中服務配置中存在的名稱。

錯誤修復

  • 修復了一個問題,即同一服務的並行 run 命令會因名稱衝突而失敗。

  • 修復了一個問題,即 Windows 客戶端上長度超過 260 個字元的路徑會導致 docker-compose build 失敗。

  • 修復了一個錯誤,即嘗試將 /var/run/docker.sock 掛載到適用於 Windows 的 Docker Desktop 會導致失敗。

  • Compose 現在使用 --project-directory 選項來確定在哪裡查詢 .env 檔案。

  • docker-compose build 在嘗試使用 gcloud 憑據助手提供的憑據拉取映象時不再失敗。

  • 修復了 docker-compose up 中的 --exit-code-from 選項,使其即使在監視的容器不是退出原因時也始終報告實際退出程式碼。

  • 修復了一個問題,該問題在某些情況下會阻止重新建立服務,即卷被對映到與 Dockerfile 中為該映象宣告的卷相同的掛載點。

  • 修復了一個錯誤,該錯誤導致具有多個網路的雜湊配置不一致,導致某些服務不必要地重新啟動。

  • 修復了一個錯誤,該錯誤會導致名稱包含一個或多個點字元的服務變數替換失敗。

  • 修復了使用 Compose 的容器化版本時管道處理問題。

  • 修復了一個錯誤,該錯誤導致 Compose 檔案中 external: false 的條目在 docker-compose config 的輸出中列印為 external: true

  • 修復了一個錯誤,該錯誤導致在沒有定義 image 鍵的服務上發出 docker-compose pull 命令時 Compose 崩潰。

  • 卷和繫結現在按照它們在服務定義中宣告的順序掛載。

雜項

  • zsh 補全指令碼已更新,添加了新選項,並且不再建議服務名稱預期位置的容器名稱。

1.22.0

(2018-07-17)

新功能

Compose 格式版本 3.7

  • 引入了 docker-compose.yml 規範的 3.7 版本。此版本需要 Docker Engine 18.06.0 或更高版本。

  • 添加了對部署配置中 rollback_config 的支援

  • 添加了對服務配置中 init 引數的支援

  • 添加了對服務、網路、卷、秘鑰和配置配置中擴充套件欄位的支援

Compose 格式版本 2.4

  • 添加了對服務、網路和卷配置中擴充套件欄位的支援

錯誤修復

  • 修復了一個錯誤,該錯誤在設定 DOCKER_DEFAULT_PLATFORM 時阻止了某些 Compose 檔案的部署

  • Compose 將不再嘗試建立以無效字元開頭的容器或卷

  • 修復了幾個錯誤,這些錯誤阻止了 Compose 命令與使用舊版 Compose 建立的容器正常工作

  • 修復了當原始檔包含可附加網路時,docker-compose config--compatibility-mode 標誌一起使用時的輸出問題

  • 修復了一個錯誤,該錯誤導致 gcloud 憑據儲存在 UNIX 上與 Compose 二進位制檔案一起使用時無法正常工作

  • 修復了一個錯誤,該錯誤導致在 Windows 上嘗試透過非 HTTPS TCP 連線操作時出現連線錯誤

  • 修復了一個錯誤,該錯誤導致在 Windows 上 Dockerfile 位於構建上下文的子目錄中時構建失敗

  • 修復了一個問題,該問題阻止了 Windows 上 UTF-8 BOM 編碼的 Compose 檔案的正確解析

  • 修復了使用 docker-compose build.dockerignore 檔案中雙萬用字元 (**) 模式的處理問題

  • 修復了一個錯誤,該錯誤導致舊版 .dockercfg 檔案中的 auth 值被忽略

  • docker-compose build 將不再嘗試建立以無效字元開頭的映象名稱

1.21.2

(2018-05-03)

錯誤修復

  • 修復了一個錯誤,該錯誤阻止了 IPAM 配置中的 ip_range 屬性透過驗證

1.21.1

(2018-04-27)

錯誤修復

  • 在 1.21.0 中,我們引入了對專案名稱進行清理以在資源名稱中內部使用的方式的更改。這導致在操作現有已部署應用程式時出現問題,因為其名稱已更改。此版本正確檢測使用“舊版”命名約定的資源。

  • 修復了一個問題,即使用絕對路徑指定上下文內的 Dockerfile 會失敗,儘管它是有效的。

  • 修復了一個錯誤,該錯誤錯誤地檢測到 IPAM 選項更改,從而阻止了重新部署。

  • v2 檔案的驗證現在正確檢查 IPAM 配置的結構。

  • 改進了對 Windows 上憑據儲存的支援,包括使用 .exe 以外的副檔名的二進位制檔案。有效副檔名列表由 PATHEXT 環境變數的內容決定。

  • 修復了一個錯誤,該錯誤導致 Compose 生成包含重複元素的無效繫結,並附帶一些 v3.2 檔案,從而在部署期間在 Engine 級別觸發錯誤。

1.21.0

(2018-04-11)

新功能

Compose 檔案版本 2.4

  • 引入了 docker-compose.yml 規範的 2.4 版本。此版本需要 Docker Engine 17.12.0 或更高版本。

  • 添加了對服務定義中 platform 引數的支援。如果提供,該引數也用於執行服務的構建。

Compose 檔案版本 2.2 及更高版本

  • 添加了對服務定義中 cpu_rt_periodcpu_rt_runtime 引數的支援(僅限 2.x)。

Compose 檔案版本 2.1 及更高版本

  • 添加了對服務定義中 cpu_period 引數的支援(僅限 2.x)。

  • 添加了對服務構建配置中 isolation 引數的支援。此外,如果未定義 build.isolation 引數,服務定義中的 isolation 引數也用於構建。(僅限 2.x)

所有格式

  • docker-compose exec 添加了對 --workdir 標誌的支援。

  • docker-compose build 添加了對 --compress 標誌的支援。

  • docker-compose pull 現在預設並行執行。您可以使用 --no-parallel 標誌選擇退出。--parallel 標誌現在已棄用,並將在未來版本中刪除。

  • 專案名稱中的破折號和下劃線不再被刪除。

  • docker-compose build 現在支援從構建上下文外部使用 Dockerfile。

錯誤修復

  • Compose 現在檢查卷的配置是否與遠端卷匹配,如果檢測到不匹配,則會報錯。

  • 修復了一個錯誤,該錯誤導致 Compose 在嘗試並行建立多個一次性容器時引發意外錯誤。

  • 修復了在使用 docker-machine configexecrun 命令生成 TLS 標誌時引數解析錯誤的問題。

  • 修復了一個錯誤,即空預設值(例如 ${VAR:-})的變數替換會列印不正確的警告。

  • 改進了當 Compose 檔案的編碼與系統不匹配時的彈性。建議使用者儘可能使用 UTF-8。

  • 修復了一個錯誤,該錯誤導致 Swarm 中的外部 overlay 網路被 Compose 錯誤地識別為不存在,從而中斷了其他有效的操作。

1.20.0

(2018-03-20)

新功能

Compose 檔案版本 3.6

  • 引入了 docker-compose.yml 規範的 3.6 版本。此版本必須與 Docker Engine 18.02.0 或更高版本一起使用。

  • 添加了對卷對映中 tmpfs.size 屬性的支援

Compose 檔案版本 3.2 及更高版本

  • --build-arg 選項現在可以在 docker-compose build 中不指定服務而使用

Compose 檔案版本 2.3

  • 添加了對服務定義中 device_cgroup_rules 的支援

  • 添加了對長格式卷對映中 tmpfs.size 屬性的支援

  • --build-arg 選項現在可以在 docker-compose build 中不指定服務而使用

所有格式

  • 向頂級 docker-compose 命令添加了 --log-level 選項。接受的值為 debuginfowarningerrorcritical。預設日誌級別為 info

  • docker-compose run 現在允許使用者取消設定容器的入口點

  • ~/.docker/config.json 檔案中找到的代理配置現在會為 Compose 建立的容器填充環境變數和構建引數

  • docker-compose run 添加了 --use-aliases 標誌,指示應將服務配置中宣告的網路別名用於正在執行的容器

  • docker-compose pull 添加了 --include-deps 標誌

  • docker-compose run 現在在收到 SIGHUP 後會殺死並移除正在執行的容器

  • docker-compose ps 現在顯示容器的健康狀態(如果可用)

  • execrunup 命令添加了長格式 --detach 選項

錯誤修復

  • 修復了 .dockerignore 處理,特別是關於絕對路徑和最後一行優先順序規則

  • 修復了一個問題,即 Compose 在使用 Docker For Mac 連線到 Engine 時會進行代價高昂的 DNS 查詢

  • 修復了 1.19.0 中引入的一個錯誤,該錯誤導致 Compose 不會遵守預設證書路徑

  • 修復了一個錯誤,即 Compose 會錯誤地檢查符號連結的目標是否可訪問(當作為構建上下文的一部分時)

  • 修復了一個錯誤,即包含空白行的 .dockerignore 檔案會導致 Compose 在 Windows 上報錯

  • 修復了一個錯誤,即 --tls*--host 選項在互動式 runexec 命令中無法正確遵守

  • security_opt 配置中的 seccomp:<filepath> 條目現在正確地將檔案內容傳送到引擎

  • updown 操作的 ANSI 輸出不應再影響錯誤的行

  • 改進了對非 Unicode 區域設定的支援

  • 修復了在 Windows 上,當用戶主目錄名稱包含非 ASCII 字元時發生的崩潰

  • 修復了在構建過程中,由於構建上下文中的檔案具有負 mtime 值而導致的錯誤

  • 修復了流式傳輸構建進度時的編碼錯誤

1.19.0

(2018-02-07)

破壞性變更

  • 在 UNIX 平臺上,互動式 runexec 命令現在預設要求在客戶端安裝 docker CLI。要恢復到以前的行為,使用者可以設定 COMPOSE_INTERACTIVE_NO_CLI 環境變數。

新功能

Compose 檔案版本 3.x

  • config 命令的輸出現在應該以更準確的方式合併多個 Compose 檔案中的 deploy 選項

Compose 檔案版本 2.3

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

Compose 檔案版本 2.1 及更高版本

  • 新增對 ${VAR:?err}${VAR?err} 變數插值語法的支援,以指示強制變數

Compose 檔案版本 2.x

  • 在服務網路對映中新增 priority 鍵,允許使用者定義指定服務連線到每個網路的順序

所有格式

  • 新增 --renew-anon-volumes(簡寫 -V)到 up 命令,防止 Compose 從以前的容器中恢復匿名卷的卷資料

  • 新增同時並行操作的數量限制,這應該可以防止意外耗盡伺服器資源。預設值為 64,可以透過 COMPOSE_PARALLEL_LIMIT 環境變數進行配置

  • 新增 --always-recreate-deps 標誌到 up 命令,以強制重新建立依賴服務以及依賴所有者

  • 新增 COMPOSE_IGNORE_ORPHANS 環境變數,以放棄孤立容器檢測並抑制警告

  • 新增 COMPOSE_FORCE_WINDOWS_HOST 環境變數,以強制 Compose 解析卷定義,就像 Docker 主機是 Windows 系統一樣,即使 Compose 本身當前在 UNIX 上執行

  • Bash 補全現在應該能夠更好地區分正在執行、已停止和已暫停的服務

錯誤修復

  • 修復了當構建上下文包含不可讀檔案或 FIFO 物件時,build 命令會報告連線錯誤的錯誤。這些檔案型別現在將得到適當處理

  • 修復了圍繞互動式 run/exec 會話的各種問題。

  • 修復了同時使用環境變數和 CLI 標誌設定 TLS 選項時,部分配置會被忽略的錯誤

  • 修復了 Compose 忽略 DOCKER_TLS_VERIFY 環境變數的錯誤

  • 修復了 up 命令中的 -d--timeout 標誌被錯誤地標記為不相容的錯誤

  • 修復瞭如果與上一個容器關聯的映象已被刪除,服務的重新建立會中斷的錯誤

  • 修復了更新掛載的目標會在 Compose 嘗試重新建立關聯服務時導致中斷的錯誤

  • 修復了在使用 3.2 版的 Compose 檔案中,使用擴充套件語法宣告的 tmpfs 卷會被錯誤地建立為匿名卷的錯誤

  • 修復了型別轉換錯誤會列印堆疊跟蹤而不是優雅退出的錯誤

  • 修復了一些與 Unicode 處理相關的錯誤

  • 如果其配置未更改,依賴服務不再與依賴所有者一起重新建立

  • 新增對 Compose 檔案中 labels 欄位的更好驗證。包含標量型別(數字、布林值)的標籤值現在會自動轉換為字串

1.18.0

(2017-12-18)

新功能

Compose 檔案版本 3.5

  • 引入 docker-compose.yml 規範的 3.5 版本。此版本需要 Docker Engine 17.06.0 或更高版本

  • 新增對構建配置中 shm_size 引數的支援

  • 新增對服務定義中 isolation 引數的支援

  • 新增對網路、金鑰和配置定義自定義名稱的支援

Compose 檔案版本 2.3

  • 新增對構建配置中 extra_hosts 的支援

  • 新增對卷條目的長語法支援,如 3.2 格式中之前介紹的。使用此語法將建立掛載而不是卷。

Compose 檔案版本 2.1 及更高版本

  • 新增對服務定義中 oom_kill_disable 引數的支援(僅限 2.x)

  • 新增對網路定義自定義名稱的支援(僅限 2.x)

所有格式

  • 從環境中插值的值現在在非字串欄位中使用時將轉換為適當的型別。

  • 新增對 docker-compose run--label 的支援

  • 新增對 docker-compose down--timeout 的支援

  • 新增對 docker-compose build--memory 的支援

  • 在服務定義中設定 stop_grace_period 現在還會設定容器的 stop_timeout

錯誤修復

  • 修復了 Compose 仍根據舊版引擎行為處理服務主機名的問題,導致包含點的服務主機名被截斷

  • 修復了 Compose 認為埠的 X-Y:Z 語法無效的錯誤

  • 修復了 CLI 日誌記錄導致重複訊息和不優雅輸出的問題

  • 修復了在使用多個 Compose 檔案時 stop_grace_period 被忽略的錯誤

  • 修復了在使用未標記映象時 docker-compose images 會崩潰的錯誤

  • 修復了有效的 ${VAR:-} 語法會導致 Compose 出錯的錯誤

  • 修復了使用 UTF-8 BOM 的 env_file 條目讀取不正確的錯誤

  • 修復了缺失的 secret 檔案會在其位置生成一個空目錄的錯誤

  • 修復了 CLI 錯誤處理程式中的字元編碼問題

  • 新增對健康檢查中 test 欄位的驗證

  • 新增對 IPAM 配置中 subnet 欄位的驗證

  • 新增對服務定義中使用長語法時的 volumes 屬性的驗證

  • CLI 現在明確禁止在 docker-compose up 中同時使用 -d--timeout

1.17.0

(2017-11-01)

新功能

Compose 檔案版本 3.4

  • 引入 docker-compose.yml 規範的 3.4 版本。此版本需要與 Docker Engine 17.06.0 或更高版本一起使用。

  • 新增對構建配置中 cache_fromnetworktarget 選項的支援

  • 新增對 update_config 部分中 order 引數的支援

  • 新增對使用 name 引數在卷定義中設定自定義名稱的支援

Compose 檔案版本 2.3

  • 新增對構建配置中 shm_size 選項的支援

Compose 檔案版本 2.x

  • 新增對擴充套件欄位 (x-*) 的支援。也適用於 v3.4 檔案

所有格式

  • 新增 --no-startup 命令,允許使用者在不啟動服務的情況下建立所有資源(網路、卷、容器)。create 命令已棄用,取而代之的是此新選項

錯誤修復

  • 修復了 extra_hosts 值會被擴充套件檔案覆蓋而不是合併的錯誤

  • 修復了 v3.2 檔案的驗證會阻止在服務卷定義中使用 consistency 欄位的錯誤

  • 修復了當期望唯一項的配置欄位包含重複項時會導致崩潰的錯誤

  • 修復了具有不同模式的掛載覆蓋會建立重複條目而不是覆蓋原始條目的錯誤

  • 修復了宣告為列表的構建標籤無法正確解析的錯誤

  • 修復瞭如果檔案包含自定義名稱的外部卷,docker-compose config 的輸出對於某些版本會無效的錯誤

  • 改進了在 Windows 上使用不支援的檔案版本發出構建命令時的錯誤處理

  • 修復了併發執行 up 命令時有時會建立同名網路的問題。

1.16.0

(2017-08-31)

新功能

Compose 檔案版本 2.3

  • 引入 docker-compose.yml 規範的 2.3 版本。此版本需要與 Docker Engine 17.06.0 或更高版本一起使用。

  • 新增對構建配置中 target 引數的支援

  • 新增對健康檢查配置中 start_period 引數的支援

Compose 檔案版本 2.x

  • 新增對服務定義中 blkio_config 引數的支援

  • 新增對使用 name 引數在卷定義中設定自定義名稱的支援(不適用於版本 2.0)

所有格式

  • 新增 CLI 標誌 --no-ansi 以抑制輸出中的 ANSI 控制字元

錯誤修復

  • 修復了巢狀的 extends 指令未正確解析,導致“檔案未找到”錯誤的錯誤

  • 修復了 .dockerignore 解析的幾個問題

  • 修復了啟用 TTY 的服務的日誌列印不正確並導致 MemoryError 異常的問題

  • 修復了在 Python 3 上列印應用程式日誌時有時會被 UnicodeEncodeError 異常中斷的錯誤

  • docker-compose config 輸出中的 $ 字元現在已正確轉義

  • 修復了執行 docker-compose top 有時會因未捕獲的異常而失敗的錯誤

  • 修復了 docker-compose pull 使用 --parallel 標誌在失敗時會返回 0 退出程式碼的錯誤

  • 修復了 deploy.resources 中的鍵未經驗證的問題

  • 修復了 docker-compose config 輸出中的 logging 選項會被設定為 null(一個無效值)的問題

  • 修復了 docker-compose images 命令在映象來自使用顯式埠號的私有倉庫時的輸出問題

  • 修復了埠定義使用 0 作為釋出埠值時 docker-compose config 的輸出問題

1.15.0

(2017-07-26)

新功能

Compose 檔案版本 2.2

  • 新增對構建配置中 network 引數的支援。

Compose 檔案版本 2.1 及更高版本

  • 服務定義中的 pid 選項現在支援 service:<name> 值。

  • 新增對服務定義中 storage_opt 引數的支援。此選項不適用於 v3 格式

所有格式

  • 新增 --quiet 標誌到 docker-compose pull,抑制進度輸出

  • CLI 輸出的一些改進

錯誤修復

  • 透過 docker-compose run--volume 標誌指定的卷現在補充了服務定義中宣告的卷,而不是替換它們

  • 修復了使用多個 Compose 檔案會取消 Compose 檔案中定義的比例值的錯誤。

  • 修復了 Compose 不遵循 config.json 檔案中的 credHelpers 條目的問題

  • 修復了在 Python 3 環境中使用多個 Compose 檔案和埠宣告會導致失敗的錯誤

  • 修復了使用者環境中存在一些與代理相關的選項會阻止 Compose 執行的錯誤

  • 修復瞭如果原始檔案使用 YN 值,docker-compose config 的輸出會無效的問題

  • 修復了在 Windows Engine 上阻止對先前建立的堆疊執行 up 操作的問題。

1.14.0

(2017-06-19)

新功能

Compose 檔案版本 3.3

  • 引入 docker-compose.yml 規範的 3.3 版本。此版本需要與 Docker Engine 17.06.0 或更高版本一起使用。注意:credential_specconfigs 鍵僅適用於 Swarm 服務,並且會被 Compose 忽略

Compose 檔案版本 2.2

  • 新增服務定義中的以下引數:cpu_countcpu_percentcpus

Compose 檔案版本 2.1

  • 新增對構建標籤的支援。此功能也適用於 2.2 和 3.3 格式。

所有格式

  • 新增 docker-compose exec--user 標誌的簡寫 -u

  • Compose 檔案和遠端網路之間標籤的差異現在將列印警告,而不是阻止重新部署。

錯誤修復

  • 修復了執行 docker-compose run 命令時,服務依賴項會重新縮放到其預設比例的錯誤

  • 修復了 docker-compose rm 帶有 --stop 標誌在提供要刪除的服務列表時行為不正常的錯誤

  • 修復了在 build 部分中,當使用多個 Compose 檔案時 cache_from 會被忽略的錯誤。

  • 修復了在使用多個 Compose 檔案時阻止將同一埠繫結到不同 IP 的錯誤。

  • 修復瞭如果覆蓋檔案具有 .yaml 副檔名,Compose 不會選擇它們的錯誤

  • 修復了 Windows Engine 上網路被錯誤地標記為需要重新建立的錯誤

  • 修復了宣告埠的服務會在某些版本的 Python 3 上導致崩潰的錯誤

  • 修復了 docker-compose config 的輸出有時會包含無效埠定義的錯誤

1.13.0

(2017-05-02)

破壞性變更

  • docker-compose up 現在將服務的縮放重置為其預設值。您可以使用新引入的 --scale 選項指定自定義縮放值

新功能

Compose 檔案版本 2.2

  • 引入 docker-compose.yml 規範的 2.2 版本。此版本需要與 Docker Engine 1.13.0 或更高版本一起使用

  • 新增對服務定義中 init 的支援。

  • 新增對服務定義中 scale 的支援。可以使用 docker-compose up 中的 --scale 標誌覆蓋配置值。此檔案格式停用了 scale 命令

Compose 檔案版本 2.x

  • 新增對網路定義 ipam 部分中 options 的支援

錯誤修復

  • 修復了透過 -f 選項提供給 Compose 的路徑未正確解析的錯誤

  • 修復了埠部分中的 ext_ip::target_port 表示法被錯誤地標記為無效的錯誤

  • 修復了在使用 -d 標誌時 exec 命令有時不會將控制權返回給終端的問題

  • 修復了 v3.2 檔案的 config 命令輸出中缺少 secret 的錯誤

  • 修復瞭如果無法連線網際網路,docker-compose 會掛起的問題

  • 修復了透過 -f 標誌傳遞包含 Unicode 字元的路徑會導致 Compose 崩潰的問題

  • 修復瞭如果 Compose 檔案包含外部 secret,docker-compose config 的輸出會無效的問題

  • 修復瞭如果 Compose 安裝在 Python 3 環境中,將 --exit-code-fromup 一起使用會失敗的錯誤

  • 修復了使用 tmpfsvolumes 組合重新建立容器會導致無效配置狀態的錯誤

1.12.0

(2017-04-04)

新功能

Compose 檔案版本 3.2

  • 引入 docker-compose.yml 規範的 3.2 版本

  • 新增對服務構建部分中 cache_from 的支援

  • 新增對服務定義中新的擴充套件埠語法的支援

  • 新增對服務定義中新的擴展卷語法的支援

Compose 檔案版本 2.1

  • 新增對服務定義中 pids_limit 的支援

Compose 檔案版本 2.0 及更高版本

  • 新增 --volumes 選項到 docker-compose config,用於列出為該專案宣告的命名卷

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

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

所有格式

  • 新增 docker-compose images 命令,用於列出當前專案容器使用的映象

  • 新增 --stop(簡寫 -s)選項到 docker-compose rm,用於在刪除正在執行的容器之前停止它們

  • 新增 --resolve-image-digests 選項到 docker-compose config,用於將每個服務的映象版本固定到永久摘要

  • 新增 --exit-code-from SERVICE 選項到 docker-compose up。使用時,docker-compose 將在任何容器退出時退出,退出程式碼與指定服務的退出程式碼相對應

  • 新增 --parallel 選項到 docker-compose pull,啟用同時拉取多個服務的映象

  • 新增 --build-arg 選項到 docker-compose build

  • 新增 --volume <volume_mapping>(簡寫 -v)選項到 docker-compose run,用於宣告要掛載的執行時卷

  • 新增 --project-directory PATH 選項到 docker-compose,這將影響專案的路徑解析

  • 當在 docker-compose up 中使用 --abort-on-container-exit 時,導致中止的容器的退出程式碼將是 docker-compose up 命令的退出程式碼

  • 使用者現在可以使用 COMPOSE_PATH_SEPARATOR 環境變數配置他們想要用於分隔 COMPOSE_FILE 環境變數值的路徑分隔符

  • 新增對埠對映中埠範圍到單個埠的支援,例如 8000-8010:80

錯誤修復

  • docker-compose run --rm 現在在執行後刪除匿名卷,與 docker run --rm 的行為一致。

  • 修復了包含埠列表的覆蓋檔案會導致引發 TypeError 的錯誤

  • 修復了 docker-compose config 輸出中缺少 deploy 鍵的錯誤

  • 修復了向上或向下擴充套件服務有時會重新使用過時容器的錯誤

  • 修復瞭如果專案聲明瞭匿名卷,docker-compose config 的輸出會無效的錯誤

  • 變數插值現在在 Compose 檔案的 secrets 部分中正確發生

  • secrets 部分現在在 docker-compose config 的輸出中正確顯示

  • 修復了對某些網路屬性的更改不會針對先前建立的網路進行檢測的錯誤

  • 修復了嘗試寫入已關閉管道時 docker-compose 會崩潰的錯誤

  • 修復了 Compose 在與命令列 TLS 標誌結合使用時不會識別 COMPOSE_TLS_VERSION 值的問題

1.11.2

(2017-02-17)

錯誤修復

  • 修復了阻止 secret 配置正確載入的錯誤

  • 修復瞭如果配置檔案包含 secret 定義,docker-compose config 命令會失敗的錯誤

  • 修復了某些 Linux 發行版上的 Compose 會選擇並載入過時版本的 requests 庫的問題

  • 修復了構建資料夾中套接字型別的檔案會導致 docker-compose 在嘗試構建該服務時崩潰的問題

  • 修復了 .dockerignore 檔案中不識別遞迴萬用字元模式 ** 的問題。

1.11.1

(2017-02-09)

錯誤修復

  • 修復了 Compose 解析器未將 3.1 檔案格式識別為有效的錯誤

1.11.0

(2017-02-08)

新功能

Compose 檔案版本 3.1

  • 引入 docker-compose.yml 規範的 3.1 版本。此版本需要 Docker Engine 1.13.0 或更高版本。它引入了對 secret 的支援。有關詳細資訊,請參閱文件

Compose 檔案版本 2.0 及更高版本

  • 引入 docker-compose top 命令,用於顯示 Compose 管理的不同服務正在執行的程序。

錯誤修復

  • 修復了擴充套件定義健康檢查字典的服務會導致 docker-compose 出錯的錯誤。

  • 修復了在使用多個 Compose 檔案時,服務定義中的 pid 條目會被忽略的問題。

1.10.1

(2017-02-01)

錯誤修復

  • 修復了 docker-py 舊版本存在會導致執行 Compose 時意外崩潰的問題

  • 修復了專案使用多個 compose 檔案時健康檢查依賴項會丟失的問題

  • 修復了一些導致 config 命令輸出無效的問題

  • 修復了在 v3 Compose 檔案中添加捲標籤會導致錯誤的問題

  • 修復了 Windows 上包含 Unicode 字元的構建上下文路徑編碼不正確的問題

  • 修復了容器停止或重新啟動時,Compose 在流式傳輸日誌時偶爾會崩潰的錯誤

1.10.0

(2017-01-18)

新功能

Compose 檔案版本 3.0

  • 引入 docker-compose.yml 規範的 3.0 版本。此版本需要與 Docker Engine 1.13 或更高版本一起使用,並且專門設計用於 docker stack 命令。

Compose 檔案版本 2.1 及更高版本

  • 健康檢查配置現在可以使用 healthcheck 引數在服務定義中完成

  • 現在,當使用 depends_on 宣告時,容器依賴項可以設定為等待透過的健康檢查。有關更新的語法,請參閱文件。

    注意

    此功能不會移植到版本 3 Compose 檔案。

  • 新增對服務定義中 sysctls 引數的支援

  • 新增對服務定義中 userns_mode 引數的支援

  • Compose 現在會為其建立的網路和卷新增識別標籤

Compose 檔案版本 2.0 及更高版本

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

錯誤修復

  • 彩色輸出現在在 Windows 上正常工作。

  • 修復了 docker-compose run 在 Windows 上以互動模式設定連結別名失敗的錯誤。

  • Compose 建立的網路現在始終可附加(Compose 檔案 v2.1 及更高版本)。

  • 修復了 COMPOSE_CONVERT_WINDOWS_PATHS 的假值(0false、空值)被解釋為 true 的錯誤。

  • 修復了 Windows 上某些 .dockerignore 模式中的正斜槓未正確解析的錯誤

1.9.0

(2016-11-16)

破壞性變更

  • 在 Windows 上使用 Compose 與 Docker Toolbox/Machine 時,預設情況下不再將卷路徑從 C:\Users 轉換為 /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 引數的支援。
    • 新增對服務網路定義中連結本地 IP 的支援。
    • 新增對變數插值中 shell 樣式內聯預設值的支援。支援的形式有 ${FOO-default}(如果 FOO 未設定則回退)和 ${FOO:-default}(如果 FOO 未設定或為空則回退)。
  • 新增對服務定義中 group_addoom_score_adj 引數的支援。

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

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

  • 如果 driver 值不衝突,覆蓋 logging 配置現在將正確合併 options 對映。

錯誤修復

  • 修復了 Windows 上 npipe 協議支援相關的幾個錯誤。

  • 修復了在 Windows Server 上使用 Docker 時,Windows 路徑轉換不正確的問題。

  • 修復了空 restart 值有時會導致引發異常的錯誤。

  • 修復了包含 Unicode 字元的服務日誌有時會導致錯誤的問題。

  • 修復了環境變數中的 Unicode 值有時在檢索時會引發 Unicode 異常的錯誤。

  • 修復了 Compose 會錯誤地檢測覆蓋網路配置不匹配的問題。

1.8.1

(2016-09-22)

錯誤修復

  • 修復了使用憑證儲存的使用者無法訪問其私有映象的錯誤。

  • 修復了使用身份令牌進行身份驗證的使用者無法訪問其私有映象的錯誤。

  • 修復了 Docker 配置檔案中的 HttpHeaders 條目會導致 Compose 在嘗試構建映象時崩潰的錯誤。

  • 修復了卷繫結宣告中 Windows 路徑處理相關的幾個錯誤。

  • 修復了 Compose 有時在嘗試從引擎讀取流式響應時崩潰的錯誤。

  • 修復了 Compose 在流式傳輸容器日誌時遇到 API 錯誤會導致崩潰的問題。

  • 修復了 Compose 會錯誤地嘗試輸出引擎 API 不處理的驅動程式的日誌的問題。

  • 修復了 docker-machine config 命令的選項未被 Compose 正確解釋的錯誤。

  • 修復了同時執行大量服務時與 Docker Engine 的連線有時會失敗的錯誤。

  • 修復了 Compose 在執行 bundle 命令時有時會列印誤導性建議訊息的問題。

  • 修復了在專案初始化階段,Compose 未能正確處理連線錯誤的錯誤。

  • 修復了遇到連線超時時會出現誤導性錯誤的錯誤。

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 版本。

錯誤修復

  • 修復了 Compose 在專案的根目錄是目錄時會錯誤地嘗試讀取 .env 的錯誤。

  • docker-compose run -e VAR 現在將 VAR 從 shell 傳遞到容器,與 docker run -e VAR 類似。

  • 改進了涉及多個 Compose 檔案時多個服務子鍵的配置合併。

  • 修復了包含 Windows 驅動器的卷對映有時解析不正確的錯誤。

  • 修復了 Windows 環境中主機的根目錄的卷對映解析不正確的錯誤。

  • 修復瞭如果指定了外部網路,docker-compose config 會輸出無效 Compose 檔案的錯誤。

  • 修復了未設定的構建引數會被分配一個包含 'None' 的字串,而不是預期的空值的問題。

  • 修復了 Windows 上的是/否提示在接收輸入之前不顯示的錯誤。

  • 修復了在 Windows 上沒有 -d 選項嘗試 docker-compose exec 會以堆疊跟蹤退出的錯誤。目前這仍然會失敗,但應該會優雅地失敗。

  • 修復了 docker-compose up 期間的錯誤會在程序結束時顯示不相關的堆疊跟蹤的錯誤。

  • docker-compose createdocker-compose start 在出現問題時會顯示更具描述性的錯誤訊息。

1.7.1

(2016-05-04)

錯誤修復

  • 修復了 docker-compose config 對於 v1 檔案的輸出是無效配置檔案的錯誤。

  • 修復了 docker-compose config 不會檢查連結有效性的錯誤。

  • 修復了 docker-compose help 不會按預期輸出可用命令和通用選項列表的問題。

  • 修復了在使用 docker-compose logs 時按服務過濾不適用於新建立服務的問題。

  • 修復了在使用 Python 3 的 Compose 時,未更改的服務有時會在 up 階段重新建立的錯誤。

  • 修復了在 up 階段遇到的 API 錯誤不會被 Compose 識別為失敗狀態的問題。

  • 修復了 Compose 會因為非 Windows 平臺上未定義的異常名稱而引發 NameError 的錯誤。

  • 修復了有時與 Compose 一起安裝了錯誤版本的 docker-py 的錯誤。

  • 修復了 docker-machine config default 輸出的主機值未被 docker-compose 命令列識別為有效選項的錯誤。

  • 修復了 Compose 在讀取 Swarm 叢集廣播的事件時有時會意外退出的問題。

  • 更正了文件中關於 .env 檔案位置的宣告,它確實是從當前目錄讀取的,而不是與 Compose 檔案相同的位置。

1.7.0

(2016-04-13)

破壞性變更

  • docker-compose logs 不再預設跟蹤日誌輸出。它現在與 docker logs 的行為匹配,並在列印當前日誌後退出。使用 -f 獲取舊的預設行為。

  • 布林值不再允許作為 Compose 檔案中對映的值(對於 environmentlabelsextra_hosts 鍵)。以前這是一個警告。布林值應該用引號引起來,這樣它們就變成了字串值。

新功能

  • Compose 現在會在其執行的目錄中查詢 .env 檔案,並讀取其中定義的任何環境變數,如果它們尚未在 shell 環境中設定。這使您可以輕鬆地為 Compose 檔案中使用的變數或任何 COMPOSE_*DOCKER_* 變數設定預設值。

  • 新增 --remove-orphans 標誌到 docker-compose updocker-compose down,用於刪除從 Compose 檔案中刪除的服務的容器。

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

  • 新增對 docker 客戶端使用的所有相同 TLS 配置標誌的支援:--tls--tlscert--tlskey 等。

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

  • 新增 --workdir 標誌到 docker-compose run

  • docker-compose logs 現在顯示在其啟動後建立的新容器的日誌。

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

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

  • 新增 --follow--timestamp--tail 標誌到 docker-compose logs 命令。

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

  • docker-compose stop 現在以反向依賴順序停止容器,而不是同時停止所有容器。

  • 新增 --build 標誌到 docker-compose up,以強制它構建新映象。如果未使用該標誌自動構建映象,它現在會顯示警告。

  • 新增 docker-compose exec 命令,用於在正在執行的容器中執行程序。

錯誤修復

  • docker-compose down 現在刪除 docker-compose run 建立的容器。

  • 當使用 tty 時,如果在 up 期間達到超時,則會顯示更合適的錯誤。

  • 修復了 docker-compose down 在某些資源已被刪除時會中止的錯誤。

  • 修復了網路別名更改不會觸發服務重新建立的錯誤。

  • 修復了當卷已存在時,列印建立新卷的日誌訊息的錯誤。

  • 修復了中斷 up 不總是關閉容器的錯誤。

  • 修復了在 v1 Compose 檔案格式中擴充套件服務時,log_optlog_driver 未正確繼承的錯誤。

  • 修復了構建引數的空值會導致檔案驗證失敗的錯誤。

1.6.2

(2016-02-23)

  • 修復了連線到啟用 TLS 的 Docker Engine 會因證書驗證錯誤而失敗的錯誤。

1.6.1

(2016-02-23)

錯誤修復

  • 修復了多次重新建立容器會導致新容器在沒有以前卷的情況下啟動的錯誤。

  • 修復了 Compose 會將未設定環境變數的值設定為空字串,而不是沒有值的鍵的錯誤。

  • 當 Compose 需要更新版本的 Docker API 時,提供更好的錯誤訊息。

  • 新增缺少的配置欄位 network.aliases,允許為服務設定網路範圍的別名。

  • 修復了 run 不會啟動 depends_on 中列出的服務的錯誤。

  • 修復了在使用 extends 或多個 Compose 檔案時,networksnetwork_mode 未合併的錯誤。

  • 修復了服務別名中的錯誤,其中短容器 ID 別名只包含 10 個字元,而不是以前版本中使用的 12 個字元。

  • 添加了建立新命名卷時缺少的日誌訊息。

  • 修復了在使用 extends 或多個 Compose 檔案時,build.args 未合併的錯誤。

  • 修復了在 null 值或不正確的型別而不是對映時進行配置驗證的一些錯誤。

  • 修復了沒有 contextbuild 部分會顯示堆疊跟蹤而不是有用的驗證訊息的錯誤。

  • 改進了與 Swarm 的相容性,僅當服務使用匿名容器卷時才將容器親和性設定為服務容器的上一個例項。以前,親和性總是設定在所有容器上。

  • 修復了某些 driver_opts 的驗證會導致使用數字而不是字串時出錯的錯誤。

  • 對 Compose 容器安裝選項使用的 run.sh 指令碼進行了一些改進。

  • 修復了 up --abort-on-container-exit 的錯誤,其中 Compose 會退出,但不會停止其他容器。

  • 更正了在對映中使用布林值時列印的警告訊息。

1.6.0

(2016-01-15)

主要功能

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

    您不必使用它 - 您現有的 Compose 檔案將在 Compose 1.6 上執行,就像今天一樣。

    有關完整詳細資訊,請檢視升級指南

  • 對網路的支援已退出實驗狀態,是啟用容器之間通訊的推薦方式。

    如果您使用新檔案格式,您的應用程式將使用網路。如果您尚未準備好,只需保持 Compose 檔案原樣,它將繼續正常工作。

    預設情況下,您無需配置任何網路。事實上,使用 Compose 進行網路連線的配置甚至比使用連結的配置還要少。有關如何使用它,請參閱網路指南

    在 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 現在會以錯誤狀態碼退出。

  • 新增 --abort-on-container-exit 標誌到 up,這會導致 up 在第一個容器退出後停止所有容器並退出。

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

  • 刪除了 migrate-to-labels 命令。

  • 刪除了 --allow-insecure-ssl 標誌。

錯誤修復

  • 修復了阻止在 expose 欄位中使用埠範圍的驗證錯誤。

  • 修復了阻止在 entrypoint 欄位中使用陣列(如果它們包含重複條目)的驗證錯誤。

  • 修復了與 extends 一起使用時 ulimits 被忽略的錯誤。

  • 修復了阻止在 extra_hosts 中使用 ipv6 地址的錯誤。

  • 修復了當從多個 Compose 檔案中包含 extends 時,它會被忽略的錯誤。

  • 修復了 Compose 檔案中定義容器卷時不正確的警告。

  • 修復了阻止 uplogs 的強制關閉行為的錯誤。

  • 修復了使用預設網路驅動程式時,None 被列印為網路驅動程式名稱的錯誤。

  • 修復了使用 dnsdns_search 的字串形式會導致錯誤的錯誤。

  • 修復了容器在重新啟動狀態時被報告為“已啟動”的錯誤。

  • 修復了 DOCKER_CERT_PATH 未正確設定時令人困惑的錯誤訊息。

  • 修復瞭如果容器使用非標準日誌驅動程式(或根本沒有),附加到容器會失敗的錯誤。

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)

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

  • 新增 ulimit 選項到 Compose 檔案中的服務。

  • 修復瞭如果服務從使用 image 更改為使用 buildup 會因“服務需要構建”而報錯的錯誤。

  • 修復了在某些終端上並行操作輸出不正確的錯誤。

  • 修復了當 volumes_from 的模式更改時,阻止容器重新建立的錯誤。

  • 修復了 1.5.0 中的迴歸問題,其中非 utf-8 Unicode 字元會導致 uplogs 崩潰。

  • 修復了 1.5.0 中的迴歸問題,其中當命令因與 Docker 守護程序通訊的 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 映象安裝和執行。這是一個實驗性功能。

錯誤修復

  • Docker 守護程序支援的所有 log_driver 選項值現在都受 Compose 支援。

  • docker-compose build 現在可以成功針對 Swarm 叢集執行。

1.4.2

(2015-09-22)

  • 修復了 1.4.1 版本中的迴歸問題,該問題導致 docker-compose up 沒有 -d 選項會立即退出。

1.4.1

(2015-09-10)

錯誤修復

  • 某些配置更改(特別是 linksvolumes_fromnet 的更改)未正確觸發容器重新建立作為 docker-compose up 的一部分。
  • docker-compose up <service> 顯示所有服務的日誌,而不僅僅是指定服務的日誌。
  • 具有自定義容器名稱的容器在日誌中顯示為 service_number,而不是其自定義容器名稱。
  • 在擴充套件服務時,有時即使配置未更改,容器也會重新建立。

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_opt 以及 log_driver,允許您向服務的日誌驅動程式傳遞額外配置。

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

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

  • 您現在可以使用 docker-compose.yml 中的 volume_driver 選項指定自定義卷驅動程式,類似於 docker run --volume-driver

  • 修復了一個錯誤,該錯誤導致 Compose 無法從提供普通(非安全)HTTP 的私有登錄檔拉取映象。以前用於解決此問題的 --allow-insecure-ssl 標誌已棄用,現在無效。

  • 修復了一個錯誤,該錯誤導致 docker-compose build 在構建依賴於私有 Hub 映象或來自私有登錄檔的映象時失敗。

  • 修復了一個錯誤,該錯誤導致 Compose 在 Docker 守護程序尚未完成刪除容器時崩潰。

  • 修復了兩個錯誤,該錯誤導致 Compose 有時會因“重複繫結掛載”錯誤而失敗,或者無法將卷附加到容器,如果 docker-compose.yml 中指定的卷路徑帶有尾隨斜槓。

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

1.3.3

(2015-07-15)

迴歸修復

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

1.3.2

(2015-07-14)

錯誤修復

  • 當由舊版 Compose 執行 docker-compose run 建立的一次性容器存在時,docker-compose run 會因名稱衝突而失敗。Compose 現在會在您有此類剩餘容器時顯示錯誤,並告訴您如何刪除它們。
  • Compose 未讀取在新位置 ~/docker/config.json 中建立的 Docker 身份驗證配置檔案,因此對私有登錄檔的身份驗證會失敗。
  • 當容器附加了偽 TTY 時,其在 docker-compose up 中的輸出會被截斷。
  • 當映象標籤更新時,docker-compose up --x-smart-recreate 有時會失敗。
  • docker-compose up 有時會建立兩個具有相同數字字尾的容器。
  • docker-compose rmdocker-compose ps 有時會列出不屬於當前專案的服務(儘管沒有容器被錯誤地刪除)。
  • 如果傳入了無效的服務名稱,某些 docker-compose 命令不會顯示錯誤。

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

1.3.1

(2015-06-21)

錯誤修復

  • docker-compose build 總是嘗試在構建之前拉取基礎映象。
  • docker-compose help migrate-to-labels 失敗並出現錯誤。
  • 如果未指定網路模式,Compose 會將其設定為“bridge”,而不是允許 Docker 守護程序使用其配置的預設網路模式。

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,允許您指定一個備用 Dockerfile 以與 build 一起使用。
  • 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,允許您指定日誌驅動程式

錯誤修復

  • docker-compose run 的輸出有時會被截斷,尤其是在 Jenkins 下執行時。
  • docker-compose.yml 中更改卷配置後,服務的卷有時不會更新。
  • 對第三方登錄檔的身份驗證有時會失敗。
  • 如果服務設定了 restart 策略,docker-compose run --rm 將無法刪除容器。
  • 如果服務在主機上公開了特定埠號,docker-compose scale 將拒絕將服務擴充套件到 1 個容器以上。
  • Compose 將拒絕建立具有相同主機路徑的多個卷條目。

感謝 @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 選項,它允許服務繼承另一個配置檔案中另一個服務的配置。這對於在應用程式之間共享公共配置或為不同環境配置同一應用程式非常有用。這是文件

  • 當將 Compose 與 Swarm 叢集一起使用時,相互依賴的容器將共同排程到同一個節點。這意味著大多數 Compose 應用程式現在開箱即用,只要它們不使用 build

  • 當將 Compose 與 Swarm 叢集一起使用時,重複呼叫 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 標誌,用於公開給定服務上的埠。這對於使用互動式偵錯程式執行您的 Web 應用程式非常有用,例如。

  • 您現在可以使用 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 無法構建帶有指向 URL 的 ADD 語句的 Dockerfile 的錯誤。

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 守護程序。

  • 新增 fig port 命令,它以類似於 docker port 的方式輸出服務的宿主機埠繫結。

  • 新增 fig pull 命令,它拉取服務的最新映象。

  • 新增 fig restart 命令,它重新啟動服務的容器。

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

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

  • 卷定義現在支援 ro 模式、展開 ~ 和展開環境變數。

  • 構建時支援 .dockerignore

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

  • --env--entrypoint 選項已新增到 fig run 中。

  • Linux 的 Fig 二進位制檔案現在連結到舊版 glibc,因此它可以在 CentOS 6 和 Debian Wheezy 上執行。

其他

  • fig ps 現在在 Jenkins 上工作,並且對 Docker 守護程序的 API 呼叫更少。
  • --verbose 顯示更多有用的除錯輸出。
  • 當啟動一個 volumes_from 指向沒有執行任何容器的服務時,該服務現在將被啟動。
  • 許多文件改進。值得注意的是,環境變數已記錄,並且始終使用官方倉庫。

感謝 @dnephin、@d11wtq、@marksteve、@rubbish、@jbalonso、@timfreund、@alunduil、@mieciu、@shuron、@moss、@suzaku 和 @chmouel!厲害。

0.5.2

(2014-07-28)

  • 新增 --no-cache 選項到 fig build,它會繞過快取,就像 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 中重新建立容器時的競爭條件

感謝 @ryanbrainard 和 @d11wtq!

0.5.0

(2014-07-11)

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

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

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

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

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

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

  • 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)

  • 將服務連結到自身,以便執行命令可以訪問正在執行的服務。(#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 守護程序,以與官方 Docker 客戶端保持一致(以前是 DOCKER_URL)(#19)
  • 截斷 fig ps 中的長命令(#18)
  • 填寫命令的 CLI 幫助橫幅(#15,#16)
  • fig.yml 缺失時顯示更友好的錯誤(#4)
  • 修復 fig build 日誌記錄中的錯誤(#3)
  • 修復構建在步驟長時間沒有生成輸出時會超時的問題(#6)
  • 修復透過 Unix 套接字流式傳輸容器輸出時引發錯誤的問題(#7)

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

0.0.2

(2014-01-02)

  • 改進文件
  • 嘗試除了 localhost 之外,連線到 tcp://localdocker:4243 和 UNIX 套接字上的 Docker。
  • 改進 fig up 行為
  • fig rm 新增確認提示
  • 新增 fig build 命令

0.0.1

(2013-12-20)

首次釋出。