DockerCompose@0 — задача Docker Compose v0
Создание, отправка или запуск многоконтейнерных приложений Docker. Используйте эту задачу с Docker или реестром контейнеров Azure.
Это важно
Задача DockerCompose@0 устарела. Задача использует docker-compose версии 1, которая больше не получает обновления с июля 2023 года. Чтобы использовать docker Compose версии 2, используйте задачу DockerCompose@1. Дополнительные сведения см. в DockerCompose@0 использовании Docker Compose версии 2 в режиме совместимости версии 1.
Создание, отправка или запуск многоконтейнерных приложений Docker. Используйте эту задачу с Docker или реестром контейнеров Azure.
Синтаксис
# Docker Compose v0
# Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
- task: DockerCompose@0
inputs:
containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required. Container Registry Type. Default: Azure Container Registry.
#dockerRegistryEndpoint: # string. Optional. Use when containerregistrytype = Container Registry. Docker Registry Service Connection.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Optional. Use when containerregistrytype = Azure Container Registry. Azure subscription.
#azureContainerRegistry: # string. Optional. Use when containerregistrytype = Azure Container Registry. Azure Container Registry.
dockerComposeFile: '**/docker-compose.yml' # string. Required. Docker Compose File. Default: **/docker-compose.yml.
#additionalDockerComposeFiles: # string. Additional Docker Compose Files.
#dockerComposeFileArgs: # string. Environment Variables.
#projectName: '$(Build.Repository.Name)' # string. Project Name. Default: $(Build.Repository.Name).
#qualifyImageNames: true # boolean. Qualify Image Names. Default: true.
action: 'Run a Docker Compose command' # 'Build services' | 'Push services' | 'Run services' | 'Run a specific service' | 'Lock services' | 'Write service image digests' | 'Combine configuration' | 'Run a Docker Compose command'. Required. Action. Default: Run a Docker Compose command.
#additionalImageTags: # string. Optional. Use when action = Build services || action = Push services. Additional Image Tags.
#includeSourceTags: false # boolean. Optional. Use when action = Build services || action = Push services. Include Source Tags. Default: false.
#includeLatestTag: false # boolean. Optional. Use when action = Build services || action = Push services. Include Latest Tag. Default: false.
#buildImages: true # boolean. Optional. Use when action = Run services. Build Images. Default: true.
#serviceName: # string. Required when action = Run a specific service. Service Name.
#containerName: # string. Optional. Use when action = Run a specific service. Container Name.
#ports: # string. Optional. Use when action = Run a specific service. Ports.
#workingDirectory: # string. Alias: workDir. Optional. Use when action = Run a specific service. Working Directory.
#entrypoint: # string. Optional. Use when action = Run a specific service. Entry Point Override.
#containerCommand: # string. Optional. Use when action = Run a specific service. Command.
#detached: true # boolean. Optional. Use when action = Run services || action = Run a specific service. Run in Background. Default: true.
#abortOnContainerExit: true # boolean. Optional. Use when action = Run services && detached == false. Abort on Container Exit. Default: true.
#imageDigestComposeFile: '$(Build.StagingDirectory)/docker-compose.images.yml' # string. Required when action = Write service image digests. Image Digest Compose File. Default: $(Build.StagingDirectory)/docker-compose.images.yml.
#removeBuildOptions: false # boolean. Optional. Use when action = Lock services || action = Combine configuration. Remove Build Options. Default: false.
#baseResolveDirectory: # string. Optional. Use when action = Lock services || action = Combine configuration. Base Resolve Directory.
#outputDockerComposeFile: '$(Build.StagingDirectory)/docker-compose.yml' # string. Required when action = Lock services || action = Combine configuration. Output Docker Compose File. Default: $(Build.StagingDirectory)/docker-compose.yml.
#dockerComposeCommand: # string. Required when action = Run a Docker Compose command. Command.
#arguments: # string. Optional. Use when action != Lock services && action != Combine configuration && action != Write service image digests. Arguments.
# Advanced Options
#dockerHostEndpoint: # string. Docker Host Service Connection.
#nopIfNoDockerComposeFile: false # boolean. No-op if no Docker Compose File. Default: false.
#requireAdditionalDockerComposeFiles: false # boolean. Require Additional Docker Compose Files. Default: false.
#currentWorkingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working Directory. Default: $(System.DefaultWorkingDirectory).
#dockerComposePath: # string. Docker Compose executable Path.
# Docker Compose v0
# Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
- task: DockerCompose@0
inputs:
containerregistrytype: 'Azure Container Registry' # 'Azure Container Registry' | 'Container Registry'. Required. Container Registry Type. Default: Azure Container Registry.
#dockerRegistryEndpoint: # string. Optional. Use when containerregistrytype = Container Registry. Docker Registry Service Connection.
#azureSubscription: # string. Alias: azureSubscriptionEndpoint. Optional. Use when containerregistrytype = Azure Container Registry. Azure subscription.
#azureContainerRegistry: # string. Optional. Use when containerregistrytype = Azure Container Registry. Azure Container Registry.
dockerComposeFile: '**/docker-compose.yml' # string. Required. Docker Compose File. Default: **/docker-compose.yml.
#additionalDockerComposeFiles: # string. Additional Docker Compose Files.
#dockerComposeFileArgs: # string. Environment Variables.
#projectName: '$(Build.Repository.Name)' # string. Project Name. Default: $(Build.Repository.Name).
#qualifyImageNames: true # boolean. Qualify Image Names. Default: true.
action: 'Run a Docker Compose command' # 'Build services' | 'Push services' | 'Run services' | 'Run a specific service' | 'Lock services' | 'Write service image digests' | 'Combine configuration' | 'Run a Docker Compose command'. Required. Action. Default: Run a Docker Compose command.
#additionalImageTags: # string. Optional. Use when action = Build services || action = Push services. Additional Image Tags.
#includeSourceTags: false # boolean. Optional. Use when action = Build services || action = Push services. Include Source Tags. Default: false.
#includeLatestTag: false # boolean. Optional. Use when action = Build services || action = Push services. Include Latest Tag. Default: false.
#buildImages: true # boolean. Optional. Use when action = Run services. Build Images. Default: true.
#serviceName: # string. Required when action = Run a specific service. Service Name.
#containerName: # string. Optional. Use when action = Run a specific service. Container Name.
#ports: # string. Optional. Use when action = Run a specific service. Ports.
#workingDirectory: # string. Alias: workDir. Optional. Use when action = Run a specific service. Working Directory.
#entrypoint: # string. Optional. Use when action = Run a specific service. Entry Point Override.
#containerCommand: # string. Optional. Use when action = Run a specific service. Command.
#detached: true # boolean. Optional. Use when action = Run services || action = Run a specific service. Run in Background. Default: true.
#abortOnContainerExit: true # boolean. Optional. Use when action = Run services && detached == false. Abort on Container Exit. Default: true.
#imageDigestComposeFile: '$(Build.StagingDirectory)/docker-compose.images.yml' # string. Required when action = Write service image digests. Image Digest Compose File. Default: $(Build.StagingDirectory)/docker-compose.images.yml.
#removeBuildOptions: false # boolean. Optional. Use when action = Lock services || action = Combine configuration. Remove Build Options. Default: false.
#baseResolveDirectory: # string. Optional. Use when action = Lock services || action = Combine configuration. Base Resolve Directory.
#outputDockerComposeFile: '$(Build.StagingDirectory)/docker-compose.yml' # string. Required when action = Lock services || action = Combine configuration. Output Docker Compose File. Default: $(Build.StagingDirectory)/docker-compose.yml.
#dockerComposeCommand: # string. Required when action = Run a Docker Compose command. Command.
#arguments: # string. Optional. Use when action != Lock services && action != Combine configuration && action != Write service image digests. Arguments.
# Advanced Options
#dockerHostEndpoint: # string. Docker Host Service Connection.
#nopIfNoDockerComposeFile: false # boolean. No-op if no Docker Compose File. Default: false.
#requireAdditionalDockerComposeFiles: false # boolean. Require Additional Docker Compose Files. Default: false.
#currentWorkingDirectory: '$(System.DefaultWorkingDirectory)' # string. Alias: cwd. Working Directory. Default: $(System.DefaultWorkingDirectory).
Входные данные
типа реестра контейнеров containerregistrytype
-
string
. Обязательное. Допустимые значения: Azure Container Registry
, Container Registry
. Значение по умолчанию: Azure Container Registry
.
Указывает тип реестра контейнеров Azure при использовании ACR. Укажите тип реестра контейнеров, если используется любой другой реестр контейнеров.
dockerRegistryEndpoint
-
подключение службы реестра Docker
string
. Необязательно. Используется при containerregistrytype = Container Registry
.
Указывает подключение службы реестра Docker. Требуется, когда командам требуется пройти проверку подлинности с помощью реестра.
azureSubscription
-
подписке Azure
Псевдоним ввода: azureSubscriptionEndpoint
.
string
. Необязательно. Используется при containerregistrytype = Azure Container Registry
.
Указывает подписку Azure. Имя подключения службы Azure. Сведения о настройке подключения вручную см. в подключении службы Azure Resource Manager.
реестра контейнеров Azure azureContainerRegistry
-
string
. Необязательно. Используется при containerregistrytype = Azure Container Registry
.
Указывает реестр контейнеров Azure.
dockerComposeFile
-
Docker Compose File
string
. Обязательное. Значение по умолчанию: **/docker-compose.yml
.
Указывает путь к основному файлу Docker Compose.
additionalDockerComposeFiles
-
дополнительные файлы Docker Compose
string
.
Указывает дополнительные файлы Docker Compose, объединенные с основным файлом Docker Compose. Относительные пути разрешаются относительно каталога, содержащего основной файл Docker Compose. Если указанный файл не найден, он игнорируется. Укажите каждый путь к файлу в новой строке.
переменных среды dockerComposeFileArgs
-
string
.
Указывает все заданные переменные среды.
Формат следующим образом:
- Вывод списка каждой пары
name=value
в новой строке. - Используйте оператор
|
в YAML для сохранения новых строк.
имени проекта projectName
-
string
. Значение по умолчанию: $(Build.Repository.Name)
.
Указывает имя проекта, используемое по умолчанию для имен образов и контейнеров.
qualifyImageNames
-
квалифицировать имена изображений
boolean
. Значение по умолчанию: true
.
По умолчанию задает имя узла подключения службы реестра Docker.
action
-
действие
string
. Обязательное. Допустимые значения: Build services
(образы служб сборки), Push services
(образы push-службы), Run services
(запуск образов служб), Run a specific service
(запуск определенного образа службы), Lock services
(образы службы блокировки), Write service image digests
, Combine configuration
, Run a Docker Compose command
. Значение по умолчанию: Run a Docker Compose command
.
Указывает действие Docker Compose из списка разрешенных значений.
additionalImageTags
-
дополнительные теги изображений
string
. Необязательно. Используется при action = Build services || action = Push services
.
Задает дополнительные теги для создаваемых или отправляемых образов Docker. Можно указать несколько тегов, разделяющих каждый с \n
веб-канала строки.
includeSourceTags
-
включить исходные теги
boolean
. Необязательно. Используется при action = Build services || action = Push services
. Значение по умолчанию: false
.
Указывает теги Git при создании или отправке образов Docker.
includeLatestTag
-
включить последний тег
boolean
. Необязательно. Используется при action = Build services || action = Push services
. Значение по умолчанию: false
.
Указывает последний тег при создании или отправке образов Docker.
buildImages
-
сборки образов
boolean
. Необязательно. Используется при action = Run services
. Значение по умолчанию: true
.
Указывает образы сборки перед запуском контейнеров служб.
имени службы serviceName
-
string
. Требуется, если action = Run a specific service
.
Указывает имя службы, которую требуется запустить.
имени контейнера containerName
-
string
. Необязательно. Используется при action = Run a specific service
.
Указывает имя контейнера службы, который требуется использовать.
Портыports
-
string
. Необязательно. Используется при action = Run a specific service
.
Указывает порты в контейнере службы для публикации на узле. Добавьте каждую host-port:container-port
привязку в новую строку.
workingDirectory
-
рабочий каталог
Псевдоним ввода: workDir
.
string
. Необязательно. Используется при action = Run a specific service
.
Указывает рабочий каталог для контейнера службы.
entrypoint
-
переопределение точки входа
string
. Необязательно. Используется при action = Run a specific service
.
Задает переопределение для точки входа по умолчанию контейнера службы.
Команда containerCommand
-
string
. Необязательно. Используется при action = Run a specific service
.
Указывает команду, выполняемую в контейнере службы. Например, если изображение содержит простое веб-приложение Python Flask, можно указать python app.py
для запуска веб-приложения.
detached
-
запуск в фоновом
boolean
. Необязательно. Используется при action = Run services || action = Run a specific service
. Значение по умолчанию: true
.
Указывает контейнеры служб, выполняемые в фоновом режиме.
abortOnContainerExit
-
прерывание при выходе контейнера
boolean
. Необязательно. Используется при action = Run services && detached == false
. Значение по умолчанию: true
.
Указывает все контейнеры, которые должны останавливаться при выходе из любого контейнера.
imageDigestComposeFile
-
файла создания образов
string
. Требуется, если action = Write service image digests
. Значение по умолчанию: $(Build.StagingDirectory)/docker-compose.images.yml
.
Указывает путь к созданному файлу Docker Compose, который заполняется полными дайджестами репозитория образов каждого образа Docker.
removeBuildOptions
-
удаление параметров сборки
boolean
. Необязательно. Используется при action = Lock services || action = Combine configuration
. Значение по умолчанию: false
.
Указывает, следует ли удалять параметры сборки из выходного файла Docker Compose.
базового разрешения каталога baseResolveDirectory
-
string
. Необязательно. Используется при action = Lock services || action = Combine configuration
.
Указывает базовый каталог, из которого должны быть разрешены относительные пути в выходном файле Docker Compose.
outputDockerComposeFile
-
выходных данных Docker Compose File
string
. Требуется, если action = Lock services || action = Combine configuration
. Значение по умолчанию: $(Build.StagingDirectory)/docker-compose.yml
.
Указывает путь к выходному файлу Docker Compose.
Команда dockerComposeCommand
-
string
. Требуется, если action = Run a Docker Compose command
.
Указывает команду Docker Compose для выполнения с аргументами. Например, rm --all
удалить все остановленные контейнеры служб.
arguments
-
аргументы
string
. Необязательно. Используется при action != Lock services && action != Combine configuration && action != Write service image digests
.
Задает параметры команды Docker Compose.
Пример: для команды сборки --pull --compress --parallel
.
dockerHostEndpoint
-
подключение службы узла Docker
string
.
Указывает подключение службы узла Docker. По умолчанию используется узел агента.
nopIfNoDockerComposeFile
-
No-op, если файл Docker Compose
boolean
. Значение по умолчанию: false
.
Указывает значение для пропуска задачи, если файл Docker Compose не существует. Этот параметр полезен, если задача предлагает необязательное поведение на основе существования файла Docker Compose в репозитории.
requireAdditionalDockerComposeFiles
-
требовать дополнительные файлы Docker Compose
boolean
. Значение по умолчанию: false
.
Указывает значение для создания ошибки, если дополнительные файлы Docker Compose не существуют. Этот параметр переопределяет поведение по умолчанию, которое будет игнорировать файл, если он не существует.
currentWorkingDirectory
-
рабочий каталог
Псевдоним ввода: cwd
.
string
. Значение по умолчанию: $(System.DefaultWorkingDirectory)
.
Указывает рабочий каталог для команды Docker Compose.
dockerComposePath
-
Путь исполняемого файла Docker Compose
string
.
Указывает путь для определения того, используется ли исполняемый файл docker-compose.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Эта задача определяет следующие выходные переменные, которые можно использовать в подчиненных шагах, заданиях и этапах.
DockerComposeOutput
Путь к файлам, содержащим выходные данные команды. Это может содержать несколько путей к файлам (разделенных новыми символами), таких как команда dockerComposeRun (одна для запуска и одна для вниз), dockerPush (по одному для каждого изображения, отправленного на каждое изображение), dockerBuild (сама сборка и все команды тегов) и dockerDigest (по одному для каждого изображения извлечено). Другие команды выводит только один файл.
Замечания
Это важно
Задача DockerCompose@0 устарела. Задача использует docker-compose версии 1, которая больше не получает обновления с июля 2023 года. Чтобы использовать docker Compose версии 2, используйте задачу DockerCompose@1. Дополнительные сведения см. в DockerCompose@0 использовании Docker Compose версии 2 в режиме совместимости версии 1.
Используйте эту задачу для создания, отправки или запуска приложений Docker с несколькими контейнерами. Используйте эту задачу с реестром Docker или реестром контейнеров Azure.
Примеры
- Реестр контейнеров Azure;
- другие реестры контейнеров
- образы службы
- образы push-службы
- запуск образов служб
- запуск определенного образа службы
- образы службы блокировки
- дайджесты образов службы записи
- Объединить конфигурацию
- Запуск команды Docker Compose
Реестр контейнеров Azure
В этом примере YAML указаны входные данные для реестра контейнеров Azure:
variables:
azureContainerRegistry: Contoso.azurecr.io
azureSubscriptionEndpoint: Contoso
steps:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Azure Container Registry
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
Другие реестры контейнеров
Значение containerregistrytype требуется при использовании любого реестра контейнеров, отличного от ACR. В этом случае используйте containerregistrytype: Container Registry
.
В этом примере YAML указывается реестр контейнеров, отличный от ACR, где Contoso — это имя подключения службы реестра Docker для реестра контейнеров:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Container Registry
dockerRegistryEndpoint: Contoso
Создание образов служб
В этом примере YAML создается образ, в котором имя образа квалифицировано на основе входных данных, связанных с реестром контейнеров Azure:
- task: DockerCompose@0
displayName: Build services
inputs:
action: Build services
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
additionalImageTags: $(Build.BuildId)
dockerComposeFileArgs: |
firstArg=$(firstArg)
secondArg=$(secondArg)
Push-образы служб
В этом примере YAML образ отправляется в реестр контейнеров:
- task: DockerCompose@0
displayName: Push services
inputs:
action: Push services
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
additionalImageTags: $(Build.BuildId)
Запуск образов служб
В этом примере YAML выполняются службы:
- task: DockerCompose@0
displayName: Run services
inputs:
action: Run services
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.ci.build.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
buildImages: true
abortOnContainerExit: true
detached: true
Запуск определенного образа службы
В этом примере YAML выполняется определенная служба:
- task: DockerCompose@0
displayName: Run a specific service
inputs:
action: Run a specific service
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
serviceName: myhealth.web
ports: 80:80
detached: true
Блокировка образов служб
В этом примере YAML блокируются службы:
- task: DockerCompose@0
displayName: Lock services
inputs:
action: Lock services
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
outputDockerComposeFile: $(Build.StagingDirectory)/docker-compose.yml
Создание дайджестов образов службы
Этот пример YAML записывает дайджесты образов службы:
- task: DockerCompose@0
displayName: Write service image digests
inputs:
action: Write service image digests
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
imageDigestComposeFile: $(Build.StagingDirectory)/docker-compose.images.yml
Объединение конфигурации
В этом примере YAML объединяются конфигурации:
- task: DockerCompose@0
displayName: Combine configuration
inputs:
action: Combine configuration
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
additionalDockerComposeFiles: docker-compose.override.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
outputDockerComposeFile: $(Build.StagingDirectory)/docker-compose.yml
Выполнение команды Docker Compose
В этом примере YAML выполняется команда docker Compose:
- task: DockerCompose@0
displayName: Run a Docker Compose command
inputs:
action: Run a Docker Compose command
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
dockerComposeCommand: rm
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | Все поддерживаемые версии агента. |
Категория задач | Строить |