Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Compilare, eseguire il push o l'esecuzione di applicazioni Docker multi-contenitore. Usare questa attività con Docker o il Registro Azure Container.
Importante
L'attività DockerCompose@0 è deprecata. L'attività usa docker-compose v1 che non riceve più l'aggiornamento a partire da luglio 2023. Per usare docker compose v2, usare l'attività DockerCompose@1. Per altre informazioni, vedere DockerCompose@0 usa Docker Compose v2 in modalità di compatibilità v1.
Compilare, eseguire il push o l'esecuzione di applicazioni Docker multi-contenitore. Usare questa attività con Docker o il Registro Azure Container.
Sintassi
# 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).
Ingressi dati
tipo di registro contenitori containerregistrytype
-
string
. Obbligatorio. Valori consentiti: Azure Container Registry
, Container Registry
. Valore predefinito: Azure Container Registry
Specifica un tipo di Registro Azure Container se si usa Registro Azure Container. Specificare un tipo di Registro Contenitori se si usa un altro registro contenitori.
dockerRegistryEndpoint
-
di connessione al servizio registro Docker
string
. Opzionale. Usare quando containerregistrytype = Container Registry
.
Specifica una connessione al servizio del Registro di sistema Docker. Obbligatorio quando i comandi devono eseguire l'autenticazione usando un registro.
azureSubscription
-
sottoscrizione di Azure
Alias di input: azureSubscriptionEndpoint
.
string
. Opzionale. Usare quando containerregistrytype = Azure Container Registry
.
Specifica una sottoscrizione di Azure. Nome della connessione al servizio di Azure. Per configurare manualmente la connessione, vedere connessione al servizio Azure Resource Manager.
azureContainerRegistry
-
registro Azure Container
string
. Opzionale. Usare quando containerregistrytype = Azure Container Registry
.
Specifica un Registro Azure Container.
dockerComposeFile
-
docker Compose File
string
. Obbligatorio. Valore predefinito: **/docker-compose.yml
Specifica il percorso del file del file Docker Compose primario.
additionalDockerComposeFiles
-
file docker compose aggiuntivi
string
.
Specifica altri file Docker Compose combinati con il file Docker Compose primario. I percorsi relativi vengono risolti in relazione alla directory contenente il file Docker Compose primario. Se non viene trovato un file specificato, viene ignorato. Specificare ogni percorso di file in una nuova riga.
variabili di ambiente dockerComposeFileArgs
-
string
.
Specifica le variabili di ambiente impostate.
Formattare come segue:
- Elencare ogni coppia di
name=value
in una nuova riga. - Usare l'operatore
|
in YAML per mantenere nuove righe.
projectName
-
nome progetto
string
. Valore predefinito: $(Build.Repository.Name)
Specifica il nome del progetto da usare per impostazione predefinita per denominare immagini e contenitori.
qualifyImageNames
-
qualificare i nomi delle immagini
boolean
. Valore predefinito: true
Per impostazione predefinita, specifica il nome host della connessione al servizio registro Docker.
action
-
'azione
string
. Obbligatorio. Valori consentiti: Build services
(immagini del servizio di compilazione), Push services
(immagini del servizio push), Run services
(esegui immagini del servizio), Run a specific service
(eseguire un'immagine del servizio specifica), Lock services
(immagini del servizio di blocco), Write service image digests
, Combine configuration
, Run a Docker Compose command
. Valore predefinito: Run a Docker Compose command
Specifica un'azione Docker Compose dall'elenco di valori consentiti.
additionalImageTags
-
tag di immagine aggiuntivi
string
. Opzionale. Usare quando action = Build services || action = Push services
.
Specifica tag aggiuntivi per le immagini Docker compilate o sottoposte a push. È possibile specificare più tag separandoli con un feed di riga \n
.
includeSourceTags
-
includere tag di origine
boolean
. Opzionale. Usare quando action = Build services || action = Push services
. Valore predefinito: false
Specifica i tag Git durante la compilazione o il push di immagini Docker.
includeLatestTag
-
includi tag più recenti
boolean
. Opzionale. Usare quando action = Build services || action = Push services
. Valore predefinito: false
Specifica il tag più recente durante la compilazione o il push di immagini Docker.
buildImages
-
creare immagini
boolean
. Opzionale. Usare quando action = Run services
. Valore predefinito: true
Specifica le immagini di compilazione prima di avviare i contenitori del servizio.
serviceName
-
nome del servizio
string
. Obbligatorio quando action = Run a specific service
.
Specifica il nome del servizio da eseguire.
nome contenitore containerName
-
string
. Opzionale. Usare quando action = Run a specific service
.
Specifica il nome del contenitore del servizio da usare.
ports
-
porte
string
. Opzionale. Usare quando action = Run a specific service
.
Specifica le porte nel contenitore del servizio da pubblicare nell'host. Aggiungere ogni binding host-port:container-port
su una nuova riga.
workingDirectory
-
directory di lavoro
Alias di input: workDir
.
string
. Opzionale. Usare quando action = Run a specific service
.
Specifica la directory di lavoro per il contenitore del servizio.
entrypoint
-
override del punto di ingresso
string
. Opzionale. Usare quando action = Run a specific service
.
Specifica un valore di override per il punto di ingresso predefinito del contenitore del servizio.
containerCommand
-
comando
string
. Opzionale. Usare quando action = Run a specific service
.
Specifica il comando da eseguire nel contenitore del servizio. Ad esempio, se l'immagine contiene una semplice applicazione Web Python Flask, è possibile specificare python app.py
per avviare l'applicazione Web.
detached
-
esecuzione in background
boolean
. Opzionale. Usare quando action = Run services || action = Run a specific service
. Valore predefinito: true
Specifica i contenitori del servizio da eseguire in background.
abortOnContainerExit
-
interruzione nel di uscita del contenitore
boolean
. Opzionale. Usare quando action = Run services && detached == false
. Valore predefinito: true
Specifica tutti i contenitori che devono essere interrotti quando un contenitore viene chiuso.
imageDigestComposeFile
-
file di composizione del digest immagine
string
. Obbligatorio quando action = Write service image digests
. Valore predefinito: $(Build.StagingDirectory)/docker-compose.images.yml
Specifica il percorso di un file Docker Compose creato e popolato con i digest completi del repository di immagini dell'immagine Docker di ogni servizio.
removeBuildOptions
-
Rimuovere le opzioni di compilazione
boolean
. Opzionale. Usare quando action = Lock services || action = Combine configuration
. Valore predefinito: false
Specifica se le opzioni di compilazione devono essere rimosse dal file Docker Compose di output.
baseResolveDirectory
-
di risoluzione di base
string
. Opzionale. Usare quando action = Lock services || action = Combine configuration
.
Specifica la directory di base da cui devono essere risolti i percorsi relativi nel file Docker Compose di output.
outputDockerComposeFile
-
file Docker Compose
string
. Obbligatorio quando action = Lock services || action = Combine configuration
. Valore predefinito: $(Build.StagingDirectory)/docker-compose.yml
Specifica il percorso di un file Docker Compose di output.
dockerComposeCommand
-
comando
string
. Obbligatorio quando action = Run a Docker Compose command
.
Specifica il comando Docker Compose da eseguire con argomenti. Ad esempio, rm --all
rimuovere tutti i contenitori di servizi arrestati.
arguments
-
argomenti
string
. Opzionale. Usare quando action != Lock services && action != Combine configuration && action != Write service image digests
.
Specifica le opzioni del comando Docker Compose.
Esempio: per il comando di compilazione, --pull --compress --parallel
.
dockerHostEndpoint
-
connessione al servizio host Docker
string
.
Specifica una connessione al servizio host Docker. L'impostazione predefinita è l'host dell'agente.
nopIfNoDockerComposeFile
-
No-op se non è file Docker Compose
boolean
. Valore predefinito: false
Specifica un valore per ignorare l'attività se il file Docker Compose non esiste. Questa opzione è utile quando l'attività offre un comportamento facoltativo in base all'esistenza di un file Docker Compose nel repository.
requireAdditionalDockerComposeFiles
-
richiedi file docker compose aggiuntivi
boolean
. Valore predefinito: false
Specifica un valore per generare un errore se i file Docker Compose aggiuntivi non esistono. Questa opzione sostituisce il comportamento predefinito che ignora un file se non esiste.
currentWorkingDirectory
-
directory di lavoro
Alias di input: cwd
.
string
. Valore predefinito: $(System.DefaultWorkingDirectory)
Specifica la directory di lavoro per il comando Docker Compose.
dockerComposePath
-
percorso eseguibile di Docker Compose
string
.
Specifica un percorso per determinare se viene usato l'eseguibile docker-compose.
Opzioni di controllo delle attività
Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.
Variabili di output
Questa attività definisce le variabili di output seguenti , che è possibile utilizzare nei passaggi downstream, nei processi e nelle fasi.
DockerComposeOutput
Percorso dei file che contengono l'output del comando. Può contenere più percorsi di file (separati da caratteri di nuova riga), ad esempio il comando dockerComposeRun (uno per l'esecuzione e uno per il basso), dockerPush (uno per ogni immagine inserita), dockerBuild (la compilazione stessa e tutti i comandi tag) e dockerDigest (uno per ogni immagine estratta). Gli altri comandi generano solo un file.
Osservazioni:
Importante
L'attività DockerCompose@0 è deprecata. L'attività usa docker-compose v1 che non riceve più l'aggiornamento a partire da luglio 2023. Per usare docker compose v2, usare l'attività DockerCompose@1. Per altre informazioni, vedere DockerCompose@0 usa Docker Compose v2 in modalità di compatibilità v1.
Usare questa attività per compilare, eseguire il push o l'esecuzione di applicazioni Docker multi-contenitore. Usare questa attività con un registro Docker o un Registro Azure Container.
Esempi
- Registro dei container di Azure
- Altri registri contenitori
- Creare immagini del servizio
- eseguire il push delle immagini del servizio
- Eseguire immagini del servizio
- Eseguire un'immagine del servizio specifica
- bloccare le immagini del servizio
- write service image digests
- Combinare di configurazione
- Eseguire un comando Docker Compose
Registro dei container di Azure
Questo esempio YAML specifica gli input per Registro Azure Container:
variables:
azureContainerRegistry: Contoso.azurecr.io
azureSubscriptionEndpoint: Contoso
steps:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Azure Container Registry
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
Altri registri contenitori
Il valore containerregistrytype è necessario quando si usa un registro contenitori diverso da Registro Azure Container. Usare containerregistrytype: Container Registry
in questo caso.
Questo esempio YAML specifica un registro contenitori diverso da Registro Azure Container in cui Contoso è il nome della connessione del servizio registro Docker per il registro contenitori:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Container Registry
dockerRegistryEndpoint: Contoso
Creare immagini del servizio
Questo esempio YAML compila l'immagine in cui il nome dell'immagine è qualificato in base agli input correlati a Registro Azure Container:
- 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)
Eseguire il push delle immagini del servizio
Questo esempio YAML esegue il push di un'immagine in un registro contenitori:
- 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)
Eseguire immagini del servizio
Questo esempio YAML esegue i servizi:
- 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
Eseguire un'immagine del servizio specifica
Questo esempio YAML esegue un servizio specifico:
- 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
Bloccare le immagini del servizio
Questo esempio YAML blocca i servizi:
- 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
Scrivere digest dell'immagine del servizio
Questo esempio YAML scrive digest dell'immagine del servizio:
- 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
Combinare la configurazione
Questo esempio YAML combina le configurazioni:
- 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
Eseguire un comando Docker Compose
Questo esempio YAML esegue 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
Requisiti
Requisito | Descrizione |
---|---|
Tipi di pipeline | YAML, build classica, versione classica |
Viene eseguito in | Agente, DeploymentGroup |
richieste | Nessuno |
funzionalità di | Questa attività non soddisfa alcuna richiesta di attività successive nel processo. |
restrizioni dei comandi | Qualunque |
variabili impostabili | Qualunque |
Versione dell'agente | Tutte le versioni dell'agente supportate. |
Categoria attività | Costruire |