Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Çok kapsayıcılı Docker uygulamaları oluşturma, gönderme veya çalıştırma. Bu görevi Docker veya Azure Container registry ile kullanın.
Önemli
DockerCompose@0 görevi kullanım dışı bırakıldı. Görev, Temmuz 2023'ten bu yana artık güncelleştirme almayan docker-compose v1'i kullanır. Docker compose v2 kullanmak için DockerCompose@1 görevini kullanın. Daha fazla bilgi için bkz. DockerCompose@0v1 uyumluluk modunda Docker Compose v2 kullanıyor.
Çok kapsayıcılı Docker uygulamaları oluşturma, gönderme veya çalıştırma. Bu görevi Docker veya Azure Container registry ile kullanın.
Sözdizimi
# 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.
Girişler
Kapsayıcı Kayıt Defteri Türücontainerregistrytype -
string. Gerekli. İzin verilen değerler: Azure Container Registry, Container Registry. Varsayılan değer: Azure Container Registry.
ACR kullanılıyorsa bir Azure Container Registry türü belirtir. Başka bir kapsayıcı kayıt defteri kullanıyorsanız bir Container Registry türü belirtin.
Docker Kayıt Defteri Hizmeti BağlantısıdockerRegistryEndpoint -
string. Opsiyonel.
containerregistrytype = Container Registryolduğunda kullanın.
Docker kayıt defteri hizmeti bağlantısını belirtir. Komutların kayıt defteri kullanarak kimlik doğrulamasına ihtiyacı olduğunda gereklidir.
Azure aboneliği
Giriş diğer adı: azureSubscriptionEndpoint.
string. Opsiyonel.
containerregistrytype = Azure Container Registryolduğunda kullanın.
Bir Azure aboneliği belirtir. Azure Hizmet Bağlantısının adı. Bağlantıyı el ile ayarlamak için bkz. Azure Resource Manager hizmet bağlantısı.
Azure Container RegistryazureContainerRegistry -
string. Opsiyonel.
containerregistrytype = Azure Container Registryolduğunda kullanın.
Bir Azure Container Registry belirtir.
Docker Dosya OluşturmadockerComposeFile -
string. Gerekli. Varsayılan değer: **/docker-compose.yml.
Birincil Docker Compose dosyasının dosya yolunu belirtir.
additionalDockerComposeFiles
-
Ek Docker Dosyaları Oluşturma
string.
Birincil Docker Compose dosyasıyla birleştirilen ek Docker Compose dosyalarını belirtir. Göreli yollar, birincil Docker Compose dosyasını içeren dizine göre çözümlenir. Belirtilen bir dosya bulunamazsa, yoksayılır. Her dosya yolunu yeni bir satırda belirtin.
dockerComposeFileArgs
-
Ortam Değişkenleri
string.
Ayarlanan ortam değişkenlerini belirtir.
Aşağıdaki gibi biçimlendirin:
- Her
name=valueçifti yeni bir satırda listeleyin. - Yeni satırları korumak için YAML'deki
|işlecini kullanın.
proje adıprojectName -
string. Varsayılan değer: $(Build.Repository.Name).
Görüntüleri ve kapsayıcıları adlandırmak için varsayılan olarak kullanılacak proje adını belirtir.
qualifyImageNames
-
Görüntü Adlarını Niteleme
boolean. Varsayılan değer: true.
Varsayılan olarak, Docker kayıt defteri hizmeti bağlantısının ana bilgisayar adını belirtir.
action
-
Eylem
string. Gerekli. İzin verilen değerler: Build services (Hizmet görüntüleri oluşturma), Push services (Anında iletme hizmeti görüntüleri), Run services (Hizmet görüntülerini çalıştır), Run a specific service (Belirli bir hizmet görüntüsünü çalıştırma), Lock services (Hizmet görüntülerini kilitle), Write service image digests, Combine configuration, Run a Docker Compose command. Varsayılan değer: Run a Docker Compose command.
İzin verilen değerler listesinden bir Docker Oluştur eylemi belirtir.
Ek Görüntü EtiketleriadditionalImageTags -
string. Opsiyonel.
action = Build services || action = Push servicesolduğunda kullanın.
Derlenen veya gönderilen Docker görüntüleri için ek etiketler belirtir.
\nbir satır akışıyla her bir etiketi birbirinden ayıran birden çok etiket belirtebilirsiniz.
kaynak etiketleridahil includeSourceTags -
boolean. Opsiyonel.
action = Build services || action = Push servicesolduğunda kullanın. Varsayılan değer: false.
Docker görüntüleri oluşturulurken veya gönderildiğinde Git etiketlerini belirtir.
en son etiketdahil includeLatestTag -
boolean. Opsiyonel.
action = Build services || action = Push servicesolduğunda kullanın. Varsayılan değer: false.
Docker görüntülerini oluştururken veya gönderirken en son etiketini belirtir.
buildImages
-
Görüntü Oluşturma
boolean. Opsiyonel.
action = Run servicesolduğunda kullanın. Varsayılan değer: true.
Hizmet kapsayıcılarını başlatmadan önce derleme görüntülerini belirtir.
hizmet adıserviceName -
string.
action = Run a specific servicegerekir.
Çalıştırmak istediğiniz hizmetin adını belirtir.
kapsayıcı adıcontainerName -
string. Opsiyonel.
action = Run a specific serviceolduğunda kullanın.
Kullanmak istediğiniz hizmet kapsayıcısının adını belirtir.
ports
-
Bağlantı Noktaları
string. Opsiyonel.
action = Run a specific serviceolduğunda kullanın.
Konakta yayımlamak için hizmet kapsayıcısında bağlantı noktalarını belirtir. Her host-port:container-port bağlamayı yeni bir satıra ekleyin.
çalışma dizini
Giriş diğer adı: workDir.
string. Opsiyonel.
action = Run a specific serviceolduğunda kullanın.
Hizmet kapsayıcısı için çalışma dizinini belirtir.
entrypoint
-
Giriş Noktasını Geçersiz Kılma
string. Opsiyonel.
action = Run a specific serviceolduğunda kullanın.
Hizmet kapsayıcısının varsayılan giriş noktası için bir geçersiz kılma değeri belirtir.
containerCommand
-
Komut
string. Opsiyonel.
action = Run a specific serviceolduğunda kullanın.
Hizmet kapsayıcısında çalıştırılacak komutu belirtir. Örneğin, görüntü basit bir Python Flask web uygulaması içeriyorsa web uygulamasını başlatmak için python app.py belirtebilirsiniz.
detached
-
Arka Planda Çalıştır
boolean. Opsiyonel.
action = Run services || action = Run a specific serviceolduğunda kullanın. Varsayılan değer: true.
Arka planda çalıştırılacak hizmet kapsayıcılarını belirtir.
kapsayıcıdan çıkışabortOnContainerExit - durdurma
boolean. Opsiyonel.
action = Run services && detached == falseolduğunda kullanın. Varsayılan değer: true.
Herhangi bir kapsayıcı çıktığında durdurulması gereken tüm kapsayıcıları belirtir.
imageDigestComposeFile
-
Görüntü Özeti Dosya Oluşturma
string.
action = Write service image digestsgerekir. Varsayılan değer: $(Build.StagingDirectory)/docker-compose.images.yml.
Oluşturulan ve her hizmetin Docker görüntüsünün tam görüntü deposu özetleriyle doldurulan bir Docker Compose dosyasının yolunu belirtir.
Derleme Seçeneklerini removeBuildOptions - Kaldırma
boolean. Opsiyonel.
action = Lock services || action = Combine configurationolduğunda kullanın. Varsayılan değer: false.
Derleme seçeneklerinin çıktı Docker Compose dosyasından kaldırılması gerekip gerekmediğini belirtir.
baseResolveDirectory
-
Temel Çözüm Dizini
string. Opsiyonel.
action = Lock services || action = Combine configurationolduğunda kullanın.
Çıktı Docker Compose dosyasındaki göreli yolların çözümlenmesi gereken temel dizini belirtir.
outputDockerComposeFile
-
Çıktı Docker Oluşturma Dosyası
string.
action = Lock services || action = Combine configurationgerekir. Varsayılan değer: $(Build.StagingDirectory)/docker-compose.yml.
Çıkış Docker Compose dosyasının yolunu belirtir.
dockerComposeCommand
-
Komut
string.
action = Run a Docker Compose commandgerekir.
Bağımsız değişkenlerle yürütülecek Docker Compose komutunu belirtir. Örneğin, durdurulan tüm hizmet kapsayıcılarını kaldırmak için rm --all.
bağımsız değişkenleri
string. Opsiyonel.
action != Lock services && action != Combine configuration && action != Write service image digestsolduğunda kullanın.
Docker Compose komut seçeneklerini belirtir.
Örnek: Derleme komutu için --pull --compress --parallel.
Docker Ana Bilgisayar Hizmeti BağlantısıdockerHostEndpoint -
string.
Docker konak hizmeti bağlantısını belirtir. Varsayılan olarak aracının ana bilgisayarını kullanır.
Docker Dosya Oluşturmayoksa, nopIfNoDockerComposeFile - İşlem yok
boolean. Varsayılan değer: false.
Docker Compose dosyası yoksa, görevi atlamak için bir değer belirtir. Bu seçenek, görev depodaki bir Docker Compose dosyasının varlığına bağlı olarak isteğe bağlı davranış sunduğunda kullanışlıdır.
ek Docker Oluşturma Dosyalarıgerektir requireAdditionalDockerComposeFiles -
boolean. Varsayılan değer: false.
Ek Docker Compose dosyaları yoksa hata üretmek için bir değer belirtir. Bu seçenek, yoksa bir dosyayı yoksayacak varsayılan davranışı geçersiz kılar.
çalışma dizini
Giriş diğer adı: cwd.
string. Varsayılan değer: $(System.DefaultWorkingDirectory).
Docker Compose komutu için çalışma dizinini belirtir.
Docker Compose yürütülebilir yoludockerComposePath -
string.
Docker-compose yürütülebilir dosyasının kullanılıp kullanılmadığını belirlemek için bir yol belirtir.
Görev denetimi seçenekleri
Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.
Çıkış değişkenleri
Bu görevaşağıdaki
DockerComposeOutput
Komutun çıkışını içeren dosyaların yolu. Bu, dockerComposeRun komutu (biri çalıştırmak ve diğeri aşağı için), dockerPush (gönderilen her görüntü için bir tane), dockerBuild (derlemenin kendisi ve tüm etiket komutları) ve dockerDigest (çekilen her görüntü için bir tane) gibi birden çok dosya yolu (yeni satır karakterleriyle ayrılmış) içerebilir. Diğer komutlar yalnızca bir dosya çıkışı oluşturur.
Açıklamalar
Önemli
DockerCompose@0 görevi kullanım dışı bırakıldı. Görev, Temmuz 2023'ten bu yana artık güncelleştirme almayan docker-compose v1'i kullanır. Docker compose v2 kullanmak için DockerCompose@1 görevini kullanın. Daha fazla bilgi için bkz. DockerCompose@0v1 uyumluluk modunda Docker Compose v2 kullanıyor.
Çok kapsayıcılı Docker uygulamaları oluşturmak, göndermek veya çalıştırmak için bu görevi kullanın. Bu görevi bir Docker kayıt defteri veya Azure Container Registry ile kullanın.
Örnekler
- Azure Container Registry
- Diğer kapsayıcı kayıt defterleri
- Hizmet görüntüleri oluşturma
- Gönderme hizmeti görüntüleri
- Hizmet görüntülerini çalıştırma
- Belirli bir hizmet görüntüsünü çalıştırma
- hizmet görüntülerini kilitleme
- Yazma hizmeti görüntüsü özetleri
- Yapılandırma birleştirme
- Docker Compose komutu çalıştırma
Azure Konteyner Kayıt Defteri
Bu YAML örneği, Azure Container Registry girişlerini belirtir:
variables:
azureContainerRegistry: Contoso.azurecr.io
azureSubscriptionEndpoint: Contoso
steps:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Azure Container Registry
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
Diğer kapsayıcı kayıt defterleri
containerregistrytype değeri, ACR dışında bir kapsayıcı kayıt defteri kullanılırken gereklidir. Bu durumda containerregistrytype: Container Registry kullanın.
Bu YAML örneği, contoso kapsayıcı kayıt defteri için Docker kayıt defteri hizmeti bağlantısının adı olduğu ACR dışında bir kapsayıcı kayıt defteri belirtir:
- task: DockerCompose@0
displayName: Container registry login
inputs:
containerregistrytype: Container Registry
dockerRegistryEndpoint: Contoso
Hizmet görüntüleri oluşturma
Bu YAML örneği, görüntü adının Azure Container Registry ile ilgili girişler temelinde nitelendiği görüntüyü oluşturur:
- 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)
Anında iletme hizmeti görüntüleri
Bu YAML örneği bir görüntüyü kapsayıcı kayıt defterine gönderir:
- 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)
Hizmet görüntülerini çalıştırma
Bu YAML örneği hizmetleri çalıştırır:
- 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
Belirli bir hizmet görüntüsünü çalıştırma
Bu YAML örneği belirli bir hizmeti çalıştırır:
- 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
Hizmet görüntülerini kilitleme
Bu YAML örneği hizmetleri kilitler:
- 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
Hizmet görüntüsü özetleri yazma
Bu YAML örneği, hizmet görüntüsü özetlerini yazar:
- 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
Yapılandırmayı birleştirme
Bu YAML örneği yapılandırmaları birleştirir:
- task: DockerCompose@0
displayName: Combine configuration
inputs:
action: Combine configuration
azureSubscriptionEndpoint: $(azureSubscriptionEndpoint)
azureContainerRegistry: $(azureContainerRegistry)
dockerComposeFile: docker-compose.yml
additionalDockerComposeFiles: docker-compose.override.yml
projectName: $(Build.Repository.Name)
qualifyImageNames: true
outputDockerComposeFile: $(Build.StagingDirectory)/docker-compose.yml
Docker Compose komutu çalıştırma
Bu YAML örneği bir docker Compose komutu çalıştırır:
- 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
Gereksinimler
| Gereksinim | Açıklama |
|---|---|
| İşlem hattı türleri | YAML, Klasik derleme, Klasik sürüm |
| Üzerinde çalışır | Agent, DeploymentGroup |
| Talepleri | Hiç kimse |
| Özellikleri | Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz. |
| Komut kısıtlamaları | Herhangi bir |
| Ayarlanabilir değişkenleri | Herhangi bir |
| Aracı sürümü | Desteklenen tüm aracı sürümleri. |
| Görev kategorisi | İnşa et |