Изменение предопределенных переменных среды

Важно

С конца июня 2023 года Compose V1 больше не будет поддерживаться и будет удален из всех версий Docker Desktop.

Убедиться, что вы переключились на Compose V2 с помощью подключаемого модуля CLI docker compose или активировав параметр Использовать Docker Compose V2 в Docker Desktop. Для получения дополнительной информации см. Эволюция Compose.

Compose уже поставляется с предопределенными переменными среды.

На этой странице содержится информация о том, как при необходимости можно изменяет следующие предопределенные переменные среды:

  • COMPOSE_CONVERT_WINDOWS_PATHS

  • COMPOSE_FILE

  • COMPOSE_PROFILES

  • COMPOSE_PROJECT_NAME

  • DOCKER_CERT_PATH

  • COMPOSE_PARALLEL_LIMIT

  • COMPOSE_IGNORE_ORPHANS

  • COMPOSE_REMOVE_ORPHANS

  • COMPOSE_PATH_SEPARATOR

Compose также наследует общие переменные среды Docker CLI, такие как DOCKER_HOST и DOCKER_CONTEXT. Подробности см. в Справочник по переменным среды Docker CLI.

Методы переопределения

Вы можете изменить предопределенные переменные среды:

При изменении или установке любых переменных среды помните о Приоритет переменной среды.

Настройка

COMPOSE_PROJECT_NAME

Задаёт имя проекта. Это значение добавляется вместе с именем службы к имени контейнера при запуске.

Например, если имя вашего проекта myapp и он включает две службы db и web, Compose запускает контейнеры с именами myapp-db-1 и myapp-web-1 соответственно.

Compose может устанавливать имя проекта по-разному. Уровень приоритета (от высшего к низшему) для каждого метода следующий:

  1. Флаг командной строки -p

  2. COMPOSE_PROJECT_NAME

  3. Переменная верхнего уровня name: из файла конфигурации (или последняя name: из серии файлов конфигурации, указанных с помощью -f)

  4. basename каталога проекта, содержащего файл конфигурации (или содержащего первый файл конфигурации, указанный с помощью -f).

  5. basename текущего каталога, если файл конфигурации не указан

Имена проектов должны содержать только строчные буквы, десятичные цифры, дефисы и знаки подчеркивания и должны начинаться со строчной буквы или десятичной цифры. Если basename каталога проекта или текущего каталога нарушает это ограничение, вы должны использовать один из других механизмов.

См. также обзор параметров командной строки и используя -p для указания имени проекта.

COMPOSE_FILE

Указывает путь к файлу Compose. Поддерживается указание нескольких файлов Compose.

  • Поведение по умолчанию: если не указано, Compose ищет файл с именем compose.yaml или docker-compose.yaml в текущем каталоге и, если он не найден, Compose рекурсивно ищет в каждом родительском каталоге, пока не будет найден файл с таким именем.

  • Разделитель по умолчанию: при указании нескольких файлов Compose разделители пути по умолчанию включены:

    • Mac и Linux: : (двоеточие),

    • Окна: ; (точка с запятой).

Разделитель путей также можно настроить с помощью COMPOSE_PATH_SEPARATOR.

Пример: COMPOSE_FILE=docker-compose.yml:docker-compose.prod.yml.

См. также обзор параметров командной строки и использование -f для указания имени и пути к одному или нескольким файлам Compose.

COMPOSE_PROFILES

Указывает один или несколько профилей, которые должны быть включены при выполнении compose up. Запускаются службы с соответствующими профилями, а также любые службы, для которых не был определён профиль.

Например, при вызове docker compose up с COMPOSE_PROFILES=frontend выбираются службы с профилем frontend, а также любые службы без указанного профиля.

  • Разделитель по умолчанию: указывает список профилей, используя запятую в качестве разделителя.

Пример: COMPOSE_PROFILES=frontend,debug
В этом примере включаются все службы, соответствующие профилям frontend и debug, и службы без профиля.

См. также Использование профилей с Compose и –profile параметр командной строки.

COMPOSE_CONVERT_WINDOWS_PATHS

Если данный параметр включён, Compose выполняет преобразовывает пути из стиля Windows в стиль Unix в определениях томов.

  • Поддерживаемые значения:

    • true или 1, чтобы включить,

    • false или 0, чтобы отключить.

  • По умолчанию: 0.

COMPOSE_PATH_SEPARATOR

Задаёт другой разделитель пути для элементов, перечисленных в COMPOSE_FILE.

  • По умолчанию:

    • В MacOS и Linux на :,

    • В Windows до ;.

COMPOSE_IGNORE_ORPHANS

Если данный параметр включён, Compose не пытается обнаружить потерянные контейнеры для проекта.

  • Поддерживаемые значения:

    • true или 1, чтобы включить,

    • false или 0, чтобы отключить.

  • По умолчанию: 0.

COMPOSE_PARALLEL_LIMIT

Указывает максимальный уровень параллелизма для одновременных вызовов механизма.

Устарело в Compose v2

Предопределенные переменные среды, перечисленные далее, устарели в V2.

  • COMPOSE_API_VERSION По умолчанию версия API согласовывается с сервером. Используйте DOCKER_API_VERSION. См. страницу Справочник по переменным среды Docker CLI.

  • COMPOSE_HTTP_TIMEOUT

  • COMPOSE_TLS_VERSION

  • COMPOSE_FORCE_WINDOWS_HOST

  • COMPOSE_INTERACTIVE_NO_CLI

  • COMPOSE_DOCKER_CLI_BUILD Используйте DOCKER_BUILDKIT для выбора между BuildKit и классическим компоновщиком. Если DOCKER_BUILDKIT=0, то docker compose build использует классический построитель для создания образов.