DockerCompose@0: tarea Docker Compose v0
Compile, inserte o ejecute aplicaciones de Docker de varios contenedores. Use esta tarea con Docker o Azure Container Registry.
Importante
La tarea DockerCompose@0 está en desuso. La tarea usa docker-compose v1, que ya no recibe la actualización desde julio de 2023. Para usar docker compose v2, use la tarea DockerCompose@1. Para obtener más información, consulte DockerCompose@0 usa Docker Compose v2 en modo de compatibilidad v1.
Compile, inserte o ejecute aplicaciones de Docker de varios contenedores. Use esta tarea con Docker o Azure Container Registry.
Sintaxis
# 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
tipo de registro de contenedor de containerregistrytype
-
string
. Obligatorio. Valores permitidos: Azure Container Registry
, Container Registry
. Valor predeterminado: Azure Container Registry
.
Especifica un tipo de Azure Container Registry si usa ACR. Especifique un tipo container Registry si usa cualquier otro registro de contenedor.
de conexión del servicio del Registro de Docker dockerRegistryEndpoint
-
string
. Opcional. Use cuando containerregistrytype = Container Registry
.
Especifica una conexión del servicio del registro de Docker. Se requiere cuando los comandos deben autenticarse mediante un registro.
azureSubscription
-
de suscripción de Azure
Alias de entrada: azureSubscriptionEndpoint
.
string
. Opcional. Use cuando containerregistrytype = Azure Container Registry
.
Especifica una suscripción de Azure. Nombre de la conexión de servicio de Azure. Para configurar manualmente la conexión, consulte conexión de servicio de Azure Resource Manager.
azureContainerRegistry
-
azure Container Registry
string
. Opcional. Use cuando containerregistrytype = Azure Container Registry
.
Especifica una instancia de Azure Container Registry.
dockerComposeFile
-
archivo de Docker Compose
string
. Obligatorio. Valor predeterminado: **/docker-compose.yml
.
Especifica la ruta de acceso del archivo al archivo principal de Docker Compose.
additionalDockerComposeFiles
-
archivos adicionales de Docker Compose
string
.
Especifica archivos adicionales de Docker Compose que se combinan con el archivo principal de Docker Compose. Las rutas de acceso relativas se resuelven en relación con el directorio que contiene el archivo principal de Docker Compose. Si no se encuentra un archivo especificado, se omite. Especifique cada ruta de acceso de archivo en una nueva línea.
dockerComposeFileArgs
-
variables de entorno
string
.
Especifica las variables de entorno que se establecen.
Dé formato como se indica a continuación:
- Enumere cada par
name=value
en una nueva línea. - Use el operador
|
en YAML para conservar las nuevas líneas.
de nombre de proyecto de projectName
-
string
. Valor predeterminado: $(Build.Repository.Name)
.
Especifica el nombre del proyecto que se va a usar de forma predeterminada para asignar nombres a imágenes y contenedores.
qualifyImageNames
-
calificar nombres de imagen
boolean
. Valor predeterminado: true
.
De forma predeterminada, especifica el nombre de host de la conexión del servicio del registro de Docker.
action
-
acción
string
. Obligatorio. Valores permitidos: Build services
(crear imágenes de servicio), Push services
(imágenes de servicio de inserción), Run services
(Ejecutar imágenes de servicio), Run a specific service
(Ejecutar una imagen de servicio específica), Lock services
(bloquear imágenes de servicio), Write service image digests
, Combine configuration
, Run a Docker Compose command
. Valor predeterminado: Run a Docker Compose command
.
Especifica una acción de Docker Compose de la lista de valores permitidos.
additionalImageTags
-
etiquetas de imagen adicionales
string
. Opcional. Use cuando action = Build services || action = Push services
.
Especifica etiquetas adicionales para las imágenes de Docker que se compilan o insertan. Puede especificar varias etiquetas que separan cada una con una fuente de líneas \n
.
includeSourceTags
-
incluir etiquetas de origen
boolean
. Opcional. Use cuando action = Build services || action = Push services
. Valor predeterminado: false
.
Especifica etiquetas de Git al compilar o insertar imágenes de Docker.
includeLatestTag
-
incluir la etiqueta más reciente
boolean
. Opcional. Use cuando action = Build services || action = Push services
. Valor predeterminado: false
.
Especifica el etiqueta más reciente al compilar o insertar imágenes de Docker.
buildImages
-
crear imágenes
boolean
. Opcional. Use cuando action = Run services
. Valor predeterminado: true
.
Especifica imágenes de compilación antes de iniciar contenedores de servicio.
nombre del servicio de serviceName
-
string
. Obligatorio cuando action = Run a specific service
.
Especifica el nombre del servicio que desea ejecutar.
containerName
-
nombre de contenedor
string
. Opcional. Use cuando action = Run a specific service
.
Especifica el nombre del contenedor de servicios que desea usar.
puertos de ports
-
string
. Opcional. Use cuando action = Run a specific service
.
Especifica los puertos del contenedor de servicios que se van a publicar en el host. Agregue cada enlace host-port:container-port
en una nueva línea.
de directorio de trabajo de
Alias de entrada: workDir
.
string
. Opcional. Use cuando action = Run a specific service
.
Especifica el directorio de trabajo para el contenedor de servicios.
de invalidación de punto de entrada de entrypoint
-
string
. Opcional. Use cuando action = Run a specific service
.
Especifica un valor de invalidación para el punto de entrada predeterminado del contenedor de servicios.
containerCommand
-
comando
string
. Opcional. Use cuando action = Run a specific service
.
Especifica el comando que se va a ejecutar en el contenedor de servicios. Por ejemplo, si la imagen contiene una sencilla aplicación web de Python Flask, puede especificar python app.py
para iniciar la aplicación web.
detached
-
Ejecutar en segundo plano
boolean
. Opcional. Use cuando action = Run services || action = Run a specific service
. Valor predeterminado: true
.
Especifica los contenedores de servicio que se van a ejecutar en segundo plano.
abortOnContainerExit
-
anular en el de salida del contenedor
boolean
. Opcional. Use cuando action = Run services && detached == false
. Valor predeterminado: true
.
Especifica todos los contenedores que deben detenerse cuando se cierra cualquier contenedor.
imageDigestComposeFile
-
archivo de redacción de síntesis de imágenes
string
. Obligatorio cuando action = Write service image digests
. Valor predeterminado: $(Build.StagingDirectory)/docker-compose.images.yml
.
Especifica la ruta de acceso a un archivo de Docker Compose que se crea y rellena con los resúmenes completos del repositorio de imágenes de la imagen de Docker de cada servicio.
removeBuildOptions
-
quitar opciones de compilación
boolean
. Opcional. Use cuando action = Lock services || action = Combine configuration
. Valor predeterminado: false
.
Especifica si se deben quitar las opciones de compilación del archivo de Docker Compose de salida.
baseResolveDirectory
-
de directorio de resolución base
string
. Opcional. Use cuando action = Lock services || action = Combine configuration
.
Especifica el directorio base desde el que se deben resolver las rutas de acceso relativas del archivo Docker Compose de salida.
de archivo docker compose de salida de outputDockerComposeFile
-
string
. Obligatorio cuando action = Lock services || action = Combine configuration
. Valor predeterminado: $(Build.StagingDirectory)/docker-compose.yml
.
Especifica la ruta de acceso a un archivo de Docker Compose de salida.
dockerComposeCommand
-
comando
string
. Obligatorio cuando action = Run a Docker Compose command
.
Especifica el comando docker Compose que se va a ejecutar con argumentos. Por ejemplo, rm --all
para quitar todos los contenedores de servicio detenidos.
argumentos de
string
. Opcional. Use cuando action != Lock services && action != Combine configuration && action != Write service image digests
.
Especifica las opciones de comando de Docker Compose.
Ejemplo: para el comando de compilación, --pull --compress --parallel
.
dockerHostEndpoint
-
de conexión del servicio host de Docker
string
.
Especifica una conexión de servicio host de Docker. El valor predeterminado es el host del agente.
nopIfNoDockerComposeFile
-
no operativo si no hay ningún archivo de Docker Compose
boolean
. Valor predeterminado: false
.
Especifica un valor para omitir la tarea si el archivo de Docker Compose no existe. Esta opción es útil cuando la tarea ofrece un comportamiento opcional basado en la existencia de un archivo de Docker Compose en el repositorio.
requireAdditionalDockerComposeFiles
-
requerir archivos adicionales de Docker Compose
boolean
. Valor predeterminado: false
.
Especifica un valor para producir un error si no existen los archivos adicionales de Docker Compose. Esta opción invalida el comportamiento predeterminado que omitiría un archivo si no existe.
de directorio de trabajo de
Alias de entrada: cwd
.
string
. Valor predeterminado: $(System.DefaultWorkingDirectory)
.
Especifica el directorio de trabajo para el comando Docker Compose.
dockerComposePath
-
ruta de acceso ejecutable de Docker Compose
string
.
Especifica una ruta de acceso para determinar si se usa el ejecutable docker-compose.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Esta tarea define las siguientes variables de salida , que puede consumir en pasos, trabajos y fases de bajada.
DockerComposeOutput
La ruta de acceso a los archivos que contienen la salida del comando. Esto puede contener varias rutas de acceso de archivo (separadas por caracteres de nueva línea), como el comando dockerComposeRun (uno para ejecutar y otro para abajo), dockerPush (uno para cada imagen insertada), dockerBuild (la propia compilación y todos los comandos de etiqueta) y dockerDigest (uno para cada imagen extraída). Los demás comandos solo generan un archivo.
Observaciones
Importante
La tarea DockerCompose@0 está en desuso. La tarea usa docker-compose v1, que ya no recibe la actualización desde julio de 2023. Para usar docker compose v2, use la tarea DockerCompose@1. Para obtener más información, consulte DockerCompose@0 usa Docker Compose v2 en modo de compatibilidad v1.
Use esta tarea para compilar, insertar o ejecutar aplicaciones de Docker de varios contenedores. Use esta tarea con un registro de Docker o una instancia de Azure Container Registry.
Ejemplos
- Azure Container Registry
- otros registros de contenedor
- creación de imágenes de servicio
- de imágenes de servicio push
- Ejecutar imágenes de servicio
- Ejecutar una imagen de servicio específica
- bloqueo de imágenes de servicio
- escritura de resúmenes de imágenes de servicio
- Combinar de configuración
- Ejecutar un comando de Docker Compose
Azure Container Registry (Registro de Contenedores de Azure)
En este ejemplo de YAML se especifican las entradas de Azure Container Registry:
variables:
azureContainerRegistry: Contoso.azurecr.io
azureSubscriptionEndpoint: Contoso
steps:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Azure Container Registry
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
Otros registros de contenedor
El valor containerregistrytype es necesario cuando se usa cualquier registro de contenedor distinto de ACR. Use containerregistrytype: Container Registry
en este caso.
En este ejemplo de YAML se especifica un registro de contenedor distinto de ACR, donde Contoso es el nombre de la conexión del servicio del registro de Docker para el registro de contenedor:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Container Registry
dockerRegistryEndpoint: Contoso
Creación de imágenes de servicio
En este ejemplo de YAML se compila la imagen donde se califica el nombre de la imagen en función de las entradas relacionadas con Azure Container Registry:
- 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)
Imágenes de servicio de inserción
En este ejemplo de YAML se inserta una imagen en un registro de contenedor:
- 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)
Ejecución de imágenes de servicio
En este ejemplo de YAML se ejecutan servicios:
- 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
Ejecución de una imagen de servicio específica
En este ejemplo de YAML se ejecuta un servicio 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 imágenes de servicio
Este ejemplo de YAML bloquea los servicios:
- 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
Escritura de resúmenes de imágenes de servicio
En este ejemplo de YAML se escriben resúmenes de imágenes de servicio:
- 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
Combinación de la configuración
En este ejemplo de YAML se combinan configuraciones:
- 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
Ejecución de un comando de Docker Compose
En este ejemplo de YAML se ejecuta un 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 | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
demandas | Ninguno |
funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquiera |
variables settable | Cualquiera |
Versión del agente | Todas las versiones de agente admitidas. |
Categoría de tarea | Construir |