Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Crie, envie ou execute aplicativos Docker de vários contêineres. Use esta tarefa com o Docker ou o registro do 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.
Crie, envie ou execute aplicativos Docker de vários contêineres. Use esta tarefa com o Docker ou o registro do 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).
Insumos
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 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 de registro do Docker. Necessário quando os comandos precisam ser autenticados usando um registro.
azureSubscription
-
de 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
-
Registro de Contêiner do Azure
string
. Opcional. Use quando containerregistrytype = Azure Container Registry
.
Especifica um Registro de Contêiner do Azure.
dockerComposeFile
-
Arquivo de composição do Docker
string
. Obrigatório. Valor padrão: **/docker-compose.yml
.
Especifica o caminho do arquivo para o arquivo Docker Compose primário.
additionalDockerComposeFiles
-
Arquivos de composição adicionais do Docker
string
.
Especifica arquivos adicionais de composição do Docker que são combinados com o arquivo de composição principal do Docker. Os 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.
dockerComposeFileArgs
-
Variáveis de ambiente
string
.
Especifica todas as variáveis de ambiente definidas.
Formato seguinte:
- Liste cada par
name=value
em uma nova linha. - Use o operador
|
em 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 imagens
boolean
. Valor padrão: true
.
Por padrão, especifica o nome de host da conexão do serviço de registro do Docker.
action
-
Ação
string
. Obrigatório. Valores permitidos: Build services
(Criar imagens de serviço), Push services
(Enviar imagens de serviço), 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 Docker Compose na lista de valores permitidos.
additionalImageTags
-
Tags de imagem adicionais
string
. Opcional. Use quando action = Build services || action = Push services
.
Especifica tags adicionais para as imagens do Docker que estão sendo criadas ou enviadas por push. Você pode especificar várias tags separando cada uma delas com um feed de linhas \n
.
includeSourceTags
-
incluir tags de origem
boolean
. Opcional. Use quando action = Build services || action = Push services
. Valor padrão: false
.
Especifica tags Git ao criar ou enviar imagens do Docker.
includeLatestTag
-
Incluir de tags mais recentes
boolean
. Opcional. Use quando action = Build services || action = Push services
. Valor padrão: false
.
Especifica a marca de mais recente ao criar ou enviar imagens do Docker.
buildImages
-
Criar imagens
boolean
. Opcional. Use quando action = Run services
. Valor padrão: true
.
Especifica imagens de compilação 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.
containerName
-
nome do contêiner
string
. Opcional. Use quando action = Run a specific service
.
Especifica o nome do contêiner de serviço que você deseja usar.
ports
-
Portos
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 host-port:container-port
vinculação em uma nova linha.
workingDirectory
-
Diretório de Trabalho
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.
entrypoint
-
de substituição de ponto de entrada
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.
containerCommand
-
de comando
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 Python Flask simples, você pode 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.
abortOnContainerExit
-
Abortar 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 parar quando qualquer contêiner é encerrado.
imageDigestComposeFile
-
de arquivo de composiçã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 imagens da imagem do Docker de cada serviço.
removeBuildOptions
-
Remover opções de compilação
boolean
. Opcional. Use quando action = Lock services || action = Combine configuration
. Valor padrão: false
.
Especifica se as opções de compilação devem ser removidas do arquivo de composição do Docker de saída.
baseResolveDirectory
-
do diretório de resolução de base
string
. Opcional. Use quando action = Lock services || action = Combine configuration
.
Especifica o diretório base a partir do qual os caminhos relativos no arquivo Docker Compose de saída devem ser resolvidos.
outputDockerComposeFile
-
de 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.
dockerComposeCommand
-
de comando
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.
arguments
-
Argumentos
string
. Opcional. Use quando action != Lock services && action != Combine configuration && action != Write service image digests
.
Especifica as opções de comando Docker Compose.
Exemplo: Para o comando 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
-
No-op se nenhum arquivo de composição do Docker
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 composiçã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.
currentWorkingDirectory
-
Diretório de Trabalho
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 controlo de tarefas
Todas as tarefas têm opções de controle, além de suas entradas de tarefas. Para obter mais informações, consulte Opções de controle de e propriedades de tarefas comuns.
Variáveis de saída
Esta tarefa define as seguintes variáveis de saída , que você pode consumir em etapas, trabalhos e estágios downstream.
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 outro para baixo), dockerPush (um para cada imagem enviada), dockerBuild (a própria compilação e todos os comandos de tag) e dockerDigest (um para cada imagem puxada). Os outros comandos produzem apenas 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 esta tarefa para criar, enviar por push ou executar aplicativos Docker de vários contêineres. Use esta tarefa com um registro do Docker ou um Registro de Contêiner do Azure.
Exemplos
- Registo de Contentores Azure
- Outros registos de contentores
- Criar imagens de serviço
- Imagens do serviço Push
- Executar imagens de serviço
- Executar uma imagem de serviço específica
- Bloquear imagens de serviço
- A imagem do serviço Write resume
- Combine de configuração
- Executar um comando Docker Compose
Registo de Contêineres do Azure
Este exemplo de 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 registos de contentores
O valor containerregistrytype é necessário ao usar qualquer registro de contêiner diferente do ACR. Use containerregistrytype: Container Registry
neste caso.
Este exemplo de YAML especifica um registro de contêiner diferente do ACR, onde Contoso é o nome da conexão do serviço de 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 de YAML cria a imagem onde 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 de YAML envia uma imagem 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 de 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 de 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 de 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
Escrever resumos de imagens de serviço
Este exemplo de YAML grava resumos de imagens 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 de 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 Docker Compose
Este exemplo de 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
Requerimentos
Requisito | Descrição |
---|---|
Tipos de pipeline | YAML, Construção clássica, Versão clássica |
Funciona em | Agente, DeploymentGroup |
Exigências | Nenhum |
Capacidades | Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes no trabalho. |
Restrições de comando | Qualquer |
Variáveis configuráveis | Qualquer |
Versão do agente | Todas as versões de agente suportadas. |
Categoria de tarefa | Construir |