Voydevich
Docker Compose

Що нового в Docker Compose 5.7

Реліз уніфікує плани виконання для фаз створення та запуску, додає нові прапорці для команд push, stats і run, а також підтримку атрибута umask.

Реліз від 2 листопада 2026 · оновлено 8 листопада 2026

Головне

  • Єдиний план виконання для фаз створення та запуску контейнерів
  • Новий прапорець --ignore-missing для docker compose push
  • Прапорці --all-projects та --aggregate для команди compose stats
  • Підтримка атрибута сервісу umask у конфігурації
  • Можливість відмовитися від імені сервісу як мережевого аліасу
  • Зміни в API бібліотеки для викликів Up та валідації параметрів

Коротко

Випущено Docker Compose 5.7.0. Ключовою зміною релізу є перехід команд up -d та інтерактивного up на єдиний план виконання для фаз Create та Start на базі одного снепшоту демона. Також оновлення розширює набір прапорців для команд run, push і stats, додає атрибут umask для сервісів та містить низку виправлень у роботі з хуками, мережами й механізмом watch.

Нові можливості

План виконання

  • Уніфікований план для up: створення та запуск контейнерів для up -d та інтерактивного up тепер виконуються як єдиний план поверх одного снепшоту демона. Аналогічний підхід уже використовувався для scale, start та перебудов у режимі watch.
  • Окремий план для start: команда compose start тепер будує план, орієнтований виключно на запуск.

Команди CLI

  • compose run: прапорець --no-recreate дозволяє повторно використовувати наявні залежності без змін.
  • compose push: додано прапорець --ignore-missing, який пропускає образи, відсутні локально. Прапорець --ignore-push-failures оголошено застарілим на користь --ignore-missing.
  • compose stats: додано прапорці --all-projects та --aggregate.
  • Паралельне складання: ліміт --parallel тепер передається у bake як параметр --jobs.

Конфігурація та мережа

  • Атрибут umask: додано підтримку атрибута сервісу umask.
  • Мережеві аліаси: реалізовано можливість для сервісу відмовитися від використання власного імені як мережевого аліасу.
  • Автентифікація: для отримання облікових даних реєстру Docker Hub тепер використовується сесія Docker Desktop Hub.

Зміни для користувачів Compose як бібліотеки

  • Виклик Up тепер попередньо валідує параметри за правилами CLI: метод UpOptions.Validate() повертає *api.IncompatibleOptionsError (errors.Is(err, api.ErrIncompatibleOptions)), якщо Start.Wait поєднується зі Start.Attach, або якщо detached-режим (Up без Start.Attach) поєднується з OnExit, ExitCodeFrom чи Watch.
  • Up працює з переданим проєктом та ігнорує значення StartOptions.Project.
  • Демон більше не опитується повторно між фазами: контейнер, що зупинився після побудови плану, не перезапускається, а видалений контейнер призводить до помилки запуску, а не пропуску. Помилка планування фази Start призводить до збою до того, як буде створено будь-який контейнер.
  • Up у foreground-режимі тепер надає сервісу з use_api_socket файл /run/secrets/docker/config.json (як і up -d) та показує вивід хуків pre_start.
  • Інтерактивне меню клавіатури більше не збирається бібліотекою за замовчуванням: необхідно встановити NavigationMenu: true та передати реалізацію через compose.WithNavigationMenu(...).
  • DownOptions.Images тепер використовує тип api.ImagePruneMode, а некоректні значення відхиляються до початку видалення ресурсів командою Down.
  • Функції compose.ServiceHash, compose.NetworkHash та compose.VolumeHash більше не експортуються через переміщення до внутрішнього пакета.
  • Інтерфейс api.Compose тепер скомпонований із шести менших інтерфейсів зі збереженням попереднього набору методів.
  • До структури PushOptions додано поле IgnoreMissing.

Виправлення та покращення

  • Команди bridge тепер відхиляють прапорець --dry-run.
  • У режимі dry-run вимкнено виконання провайдерів та моделей.
  • Виправлено звітність up: скасоване або прострочене очікування необов'язкової залежності більше не позначається як пропущене.
  • Прикріплений (attached) up тепер враховує прапорець -t під час зупинки застосунку.
  • Перевірка умови depends_on в up тепер виконується до першого кроку опитування (poll tick).
  • Команда compose logs передає кожен рядок перезапущеного контейнера рівно один раз.
  • Хуки pre_start тепер отримують змінні з env_file та секції environment сервісу, а їхній вивід захоплюється через відкриття лог-стріму одразу після старту.
  • Процес завантаження образу в compose run тепер залишається всередині блоку прогресу команди.
  • При перестворенні залежностей у compose run зберігаються їхні анонімні томи.
  • Команда compose down -v зберігає томи, які не належать поточному проєкту.
  • Механізм watch тепер пропускає тригери sync+exec для шляхів, змонтованих через bind mount, розпізнає bind-шляхи, що починаються з двох крапок, та ігнорує директорії .git на будь-якій глибині.
  • Вузол очікування у виконавці більше не займає слот --parallel під час опитування.
  • Сервіс із use_api_socket отримує свій конфігураційний файл під час compose start, а передані йому облікові дані було посилено.

Огляд підготовлено автоматично за офіційними release notes за допомогою ШІ та перевірено на відповідність джерелу. Точні формулювання дивіться в оригіналі. Як ми працюємо