Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Compilar, efetuar push ou executar aplicativos docker de vários contêineres. Use essa tarefa com o Docker ou o Registro de Contêiner do Azure.
Importante
A tarefa DockerCompose@0 foi preterida. A tarefa usa docker-compose v1 que não recebe mais atualização desde julho de 2023. Para usar o docker compose v2, use a tarefa DockerCompose@1. Para obter mais informações, consulte DockerCompose@0 usa o Docker Compose v2 no modo de compatibilidade v1.
Compilar, efetuar push ou executar aplicativos docker de vários contêineres. Use essa tarefa com o Docker ou o Registro de Contêiner do Azure.
Sintaxe
# 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).
Entradas
containerregistrytype
-
tipo de registro de contêiner
string
. Obrigatório Valores permitidos: Azure Container Registry
, Container Registry
. Valor padrão: Azure Container Registry
.
Especifica um tipo de Registro de Contêiner do Azure se estiver usando o ACR. Especifique um tipo de Registro de Contêiner se estiver usando qualquer outro registro de contêiner.
dockerRegistryEndpoint
-
de Conexão do Serviço de Registro do Docker
string
. Opcional. Use quando containerregistrytype = Container Registry
.
Especifica uma conexão de serviço do Registro do Docker. Necessário quando os comandos precisam ser autenticados usando um registro.
azureSubscription
-
assinatura do Azure
Alias de entrada: azureSubscriptionEndpoint
.
string
. Opcional. Use quando containerregistrytype = Azure Container Registry
.
Especifica uma assinatura do Azure. Nome da Conexão de Serviço do Azure. Para configurar manualmente a conexão, consulte conexão de serviço do Azure Resource Manager.
azureContainerRegistry
-
do Registro de Contêiner do Azure
string
. Opcional. Use quando containerregistrytype = Azure Container Registry
.
Especifica um Registro de Contêiner do Azure.
dockerComposeFile
-
de Arquivo do Docker Compose
string
. Obrigatório Valor padrão: **/docker-compose.yml
.
Especifica o caminho do arquivo para o arquivo docker compose primário.
additionalDockerComposeFiles
-
arquivos de redação adicionais do Docker
string
.
Especifica arquivos adicionais do Docker Compose que são combinados com o arquivo docker compose primário. Caminhos relativos são resolvidos em relação ao diretório que contém o arquivo docker compose primário. Se um arquivo especificado não for encontrado, ele será ignorado. Especifique cada caminho de arquivo em uma nova linha.
variáveis de ambiente dockerComposeFileArgs
-
string
.
Especifica todas as variáveis de ambiente definidas.
Formate da seguinte maneira:
- Liste cada par
name=value
em uma nova linha. - Use o operador
|
no YAML para preservar novas linhas.
projectName
-
nome do projeto
string
. Valor padrão: $(Build.Repository.Name)
.
Especifica o nome do projeto a ser usado por padrão para nomear imagens e contêineres.
qualifyImageNames
-
qualificar nomes de imagem
boolean
. Valor padrão: true
.
Por padrão, especifica o nome do host da conexão de serviço do Registro do Docker.
de Ação action
-
string
. Obrigatório Valores permitidos: Build services
(Criar imagens de serviço), Push services
(imagens de serviço push), Run services
(Executar imagens de serviço), Run a specific service
(Executar uma imagem de serviço específica), Lock services
(Bloquear imagens de serviço), Write service image digests
, Combine configuration
, Run a Docker Compose command
. Valor padrão: Run a Docker Compose command
.
Especifica uma ação do Docker Compose da lista de valores permitidos.
additionalImageTags
-
marcas de imagem adicionais
string
. Opcional. Use quando action = Build services || action = Push services
.
Especifica marcas adicionais para as imagens do Docker que estão sendo criadas ou enviadas por push. Você pode especificar várias marcas separando cada uma com um feed de linha \n
.
includeSourceTags
-
incluir marcas de origem
boolean
. Opcional. Use quando action = Build services || action = Push services
. Valor padrão: false
.
Especifica marcas git ao criar ou enviar imagens do Docker por push.
includeLatestTag
-
incluir a marca mais recente
boolean
. Opcional. Use quando action = Build services || action = Push services
. Valor padrão: false
.
Especifica o marca de mais recente ao compilar ou enviar imagens do Docker por push.
buildImages
-
criar imagens
boolean
. Opcional. Use quando action = Run services
. Valor padrão: true
.
Especifica imagens de build antes de iniciar contêineres de serviço.
serviceName
-
nome do serviço
string
. Necessário quando action = Run a specific service
.
Especifica o nome do serviço que você deseja executar.
de nome do contêiner containerName
-
string
. Opcional. Use quando action = Run a specific service
.
Especifica o nome do contêiner de serviço que você deseja usar.
portas ports
-
string
. Opcional. Use quando action = Run a specific service
.
Especifica as portas no contêiner de serviço a serem publicadas no host. Adicione cada associação host-port:container-port
em uma nova linha.
do Diretório de Trabalho do
Alias de entrada: workDir
.
string
. Opcional. Use quando action = Run a specific service
.
Especifica o diretório de trabalho para o contêiner de serviço.
substituição de ponto de entrada entrypoint
-
string
. Opcional. Use quando action = Run a specific service
.
Especifica um valor de substituição para o ponto de entrada padrão do contêiner de serviço.
comando containerCommand
-
string
. Opcional. Use quando action = Run a specific service
.
Especifica o comando a ser executado no contêiner de serviço. Por exemplo, se a imagem contiver um aplicativo Web Simples do Python Flask, você poderá especificar python app.py
para iniciar o aplicativo Web.
detached
-
executar em segundo plano
boolean
. Opcional. Use quando action = Run services || action = Run a specific service
. Valor padrão: true
.
Especifica os contêineres de serviço a serem executados em segundo plano.
Anulação abortOnContainerExit
- no de Saída do Contêiner
boolean
. Opcional. Use quando action = Run services && detached == false
. Valor padrão: true
.
Especifica todos os contêineres que devem ser interrompidos quando qualquer contêiner é encerrado.
imageDigestComposeFile
-
de Arquivo de Redação do Image Digest
string
. Necessário quando action = Write service image digests
. Valor padrão: $(Build.StagingDirectory)/docker-compose.images.yml
.
Especifica o caminho para um arquivo docker compose que é criado e preenchido com os resumos completos do repositório de imagem da imagem do Docker de cada serviço.
removeBuildOptions
-
remover opções de build
boolean
. Opcional. Use quando action = Lock services || action = Combine configuration
. Valor padrão: false
.
Especifica se as opções de build devem ser removidas do arquivo docker compose de saída.
baseResolveDirectory
-
do Diretório de Resolução Base
string
. Opcional. Use quando action = Lock services || action = Combine configuration
.
Especifica o diretório base do qual os caminhos relativos no arquivo docker compose de saída devem ser resolvidos.
outputDockerComposeFile
-
arquivo de composição do Docker de saída
string
. Necessário quando action = Lock services || action = Combine configuration
. Valor padrão: $(Build.StagingDirectory)/docker-compose.yml
.
Especifica o caminho para um arquivo docker compose de saída.
comando dockerComposeCommand
-
string
. Necessário quando action = Run a Docker Compose command
.
Especifica o comando Docker Compose a ser executado com argumentos. Por exemplo, rm --all
remover todos os contêineres de serviço interrompidos.
argumentos arguments
-
string
. Opcional. Use quando action != Lock services && action != Combine configuration && action != Write service image digests
.
Especifica as opções de comando do Docker Compose.
Exemplo: para o comando de build, --pull --compress --parallel
.
dockerHostEndpoint
-
de Conexão do Serviço de Host do Docker
string
.
Especifica uma conexão de serviço de host do Docker. O padrão é o host do agente.
nopIfNoDockerComposeFile
-
não opera se não houver de Arquivo do Docker Compose
boolean
. Valor padrão: false
.
Especifica um valor para ignorar a tarefa se o arquivo Docker Compose não existir. Essa opção é útil quando a tarefa oferece comportamento opcional com base na existência de um arquivo docker Compose no repositório.
requireAdditionalDockerComposeFiles
-
exigir arquivos de redação adicionais do Docker
boolean
. Valor padrão: false
.
Especifica um valor para produzir um erro se os arquivos adicionais do Docker Compose não existirem. Essa opção substitui o comportamento padrão que ignoraria um arquivo se ele não existir.
do Diretório de Trabalho do
Alias de entrada: cwd
.
string
. Valor padrão: $(System.DefaultWorkingDirectory)
.
Especifica o diretório de trabalho para o comando Docker Compose.
dockerComposePath
-
de caminho executável do Docker Compose
string
.
Especifica um caminho para determinar se o executável docker-compose é usado.
Opções de controle de tarefa
Todas as tarefas têm opções de controle além das suas entradas de tarefas. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.
Variáveis de saída
Essa tarefa define as seguintes variáveis de saída , que você pode consumir em etapas downstream, trabalhos e estágios.
DockerComposeOutput
o caminho para os arquivos que contêm a saída do comando. Isso pode conter vários caminhos de arquivo (separados por caracteres de nova linha), como o comando dockerComposeRun (um para execução e um para baixo), dockerPush (um para cada imagem enviada por push), dockerBuild (o build em si e todos os comandos de marca) e dockerDigest (um para cada imagem extraída). Os outros comandos só geram um arquivo.
Observações
Importante
A tarefa DockerCompose@0 foi preterida. A tarefa usa docker-compose v1 que não recebe mais atualização desde julho de 2023. Para usar o docker compose v2, use a tarefa DockerCompose@1. Para obter mais informações, consulte DockerCompose@0 usa o Docker Compose v2 no modo de compatibilidade v1.
Use essa tarefa para compilar, efetuar push ou executar aplicativos Docker de vários contêineres. Use essa tarefa com um registro do Docker ou um Registro de Contêiner do Azure.
Exemplos
- Registro de Contêiner do Azure
- Outros registros de contêiner
- criar imagens de serviço
- imagens de serviço push
- executar imagens de serviço
- executar uma imagem de serviço específica
- Bloquear imagens de serviço
- gravação de imagem do serviço
- Combinar de configuração
- executar um comando do Docker Compose
Registro de Contêiner do Azure
Este exemplo yaml especifica as entradas para o Registro de Contêiner do 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)
Outros registros de contêiner
O valor containerregistrytype é necessário ao usar qualquer registro de contêiner diferente do ACR. Use containerregistrytype: Container Registry
nesse caso.
Este exemplo yaml especifica um registro de contêiner diferente do ACR em que Contoso é o nome da conexão de serviço do Registro do Docker para o registro de contêiner:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Container Registry
dockerRegistryEndpoint: Contoso
Criar imagens de serviço
Este exemplo yaml cria a imagem em que o nome da imagem é qualificado com base nas entradas relacionadas ao Registro de Contêiner do 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)
Enviar imagens de serviço por push
Este exemplo yaml envia uma imagem por push para um registro de contêiner:
- 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)
Executar imagens de serviço
Este exemplo yaml executa serviços:
- 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
Executar uma imagem de serviço específica
Este exemplo yaml executa um serviço específico:
- 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
Bloquear imagens de serviço
Este exemplo yaml bloqueia serviços:
- 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
Gravar resumos de imagem de serviço
Este exemplo yaml grava resumos de imagem de serviço:
- 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
Combinar configuração
Este exemplo yaml combina configurações:
- 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
Executar um comando do Docker Compose
Este exemplo yaml executa um comando 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
Requisitos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, build clássico, versão clássica |
Execuções em | Agent, DeploymentGroup |
de demandas | Nenhum |
recursos | Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho. |
restrições de comando | Qualquer |
variáveis settable | Qualquer |
Versão do agente | Todas as versões de agente com suporte. |
Categoria de tarefa | Construir |