複数コンテナーの Docker アプリケーションをビルド、プッシュ、または実行します。 タスクは、Docker または Azure Container Registry で使用できます。
構文
# Docker Compose v1
# Build, push or run multi-container Docker applications. Task can be used with Docker or Azure Container registry.
- task: DockerCompose@1
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.
入力
containerregistrytype
-
コンテナー レジストリの種類の
string
。 必須。 使用できる値: Azure Container Registry
、Container Registry
。 既定値: Azure Container Registry
。
コンテナレジストリタイプを選択します。
Docker レジストリ サービス接続の dockerRegistryEndpoint
-
string
。 任意。
containerregistrytype = Container Registry
するときに使用します。
Docker レジストリ サービス接続を選択します。 レジストリで認証する必要があるコマンドに必要です。
Azure サブスクリプション を
入力エイリアス: azureSubscriptionEndpoint
。
string
。 任意。
containerregistrytype = Azure Container Registry
するときに使用します。
Azure サブスクリプションを選択します。
Azure Container Registryを azureContainerRegistry
- する
string
。 任意。
containerregistrytype = Azure Container Registry
するときに使用します。
Azure Container Registryを選択します。
Docker Compose ファイルの dockerComposeFile
-
string
。 必須。 既定値: **/docker-compose.yml
。
使用するプライマリ Docker Compose ファイルへのパス。
追加の Docker Compose ファイルを additionalDockerComposeFiles
- する
string
。
プライマリ Docker Compose ファイルと組み合わせる追加の Docker Compose ファイル。 相対パスは、プライマリ Docker Compose ファイルを含むディレクトリを基準にして解決されます。 指定したファイルが見つからない場合は無視されます。 新しい行に各ファイル パスを指定します。
dockerComposeFileArgs
-
環境変数の
string
。
コマンド中に設定する環境変数。 各 name=value のペアを新しい行に指定します。
projectName
-
プロジェクト名の
string
。 既定値: $(Build.Repository.Name)
。
イメージとコンテナのデフォルトの命名に使用されるプロジェクト名。
qualifyImageNames
-
イメージ名の修飾
boolean
。 既定値: true
。
ビルドされたサービスのイメージ名を、特に指定されていない場合は、Docker レジストリ サービス接続のホスト名で修飾します。
action
-
アクションの
string
。 必須。 使用できる値: Build services
(サービス イメージの構築)、Push services
(サービス イメージのプッシュ)、Run services
(サービス イメージの実行)、Run a specific service
(特定のサービス イメージの実行)、Lock services
(サービス イメージのロック)、Write service image digests
、Combine configuration
、Run a Docker Compose command
。 既定値: Run a Docker Compose command
。
Docker Compose アクションを選択します。
その他の画像タグを additionalImageTags
- する
string
。 任意。
action = Build services || action = Push services
するときに使用します。
ビルドまたはプッシュされる Docker イメージの追加タグ。
ソース タグを含める includeSourceTags
-
boolean
。 任意。
action = Build services || action = Push services
するときに使用します。 既定値: false
。
Docker イメージをビルドまたはプッシュするときに Git タグを含めます。
最新のタグを含める includeLatestTag
-
boolean
。 任意。
action = Build services || action = Push services
するときに使用します。 既定値: false
。
Docker イメージをビルドまたはプッシュするときに 'latest' タグを含めます。
buildImages
-
ビルド イメージ
boolean
。 任意。
action = Run services
するときに使用します。 既定値: true
。
サービス コンテナーを開始する前にイメージをビルドします。
serviceName
-
サービス名の
string
。
action = Run a specific service
する場合に必要です。
実行する特定のサービスの名前。
containerName
-
コンテナー名の
string
。 任意。
action = Run a specific service
するときに使用します。
実行する特定のサービスコンテナの名前。
ports
-
ポートの
string
。 任意。
action = Run a specific service
するときに使用します。
ホストに公開する特定のサービスコンテナ内のポート。 各 host-port:container-port バインディングを新しい行に指定します。
workingDirectory
-
作業ディレクトリの
入力エイリアス: workDir
。
string
。 任意。
action = Run a specific service
するときに使用します。
特定のサービスコンテナの作業ディレクトリ。
entrypoint
-
エントリ ポイントのオーバーライド
string
。 任意。
action = Run a specific service
するときに使用します。
特定のサービスコンテナのデフォルトのエントリポイントを上書きします。
containerCommand
-
コマンド
string
。 任意。
action = Run a specific service
するときに使用します。
特定のサービスコンテナで実行するコマンド。 たとえば、イメージに単純な Python Flask Web アプリケーションが含まれている場合は、'python app.py' を指定して Web アプリケーションを起動できます。
バックグラウンドで実行する detached
-
boolean
。 任意。
action = Run services || action = Run a specific service
するときに使用します。 既定値: true
。
サービス コンテナをバックグラウンドで実行します。
コンテナー終了での abortOnContainerExit
- 中止
boolean
。 任意。
action = Run services && detached == false
するときに使用します。 既定値: true
。
コンテナが終了したら、すべてのコンテナを停止します。
imageDigestComposeFile
-
イメージ ダイジェスト作成ファイルの
string
。
action = Write service image digests
する場合に必要です。 既定値: $(Build.StagingDirectory)/docker-compose.images.yml
。
作成され、各サービスの Docker イメージの完全なイメージ リポジトリ ダイジェストが入力される Docker Compose ファイルへのパス。
removeBuildOptions
-
ビルド オプションの削除
boolean
。 任意。
action = Lock services || action = Combine configuration
するときに使用します。 既定値: false
。
出力 Docker Compose ファイルからビルド オプションを削除します。
baseResolveDirectory
-
基本解決ディレクトリの
string
。 任意。
action = Lock services || action = Combine configuration
するときに使用します。
出力 Docker Compose ファイル内の相対パスを解決するベース ディレクトリ。
出力 Docker Compose ファイルを outputDockerComposeFile
- する
string
。
action = Lock services || action = Combine configuration
する場合に必要です。 既定値: $(Build.StagingDirectory)/docker-compose.yml
。
出力 Docker Compose ファイルへのパス。
dockerComposeCommand
-
コマンド
string
。
action = Run a Docker Compose command
する場合に必要です。
引数を指定して実行する Docker Compose コマンド。 たとえば、停止しているすべてのサービスコンテナを削除するには、「rm --all」と入力します。
arguments
-
引数
string
。 任意。
action != Lock services && action != Combine configuration && action != Write service image digests
するときに使用します。
Docker Compose コマンドオプション。 例:
build コマンドの場合、
--pull --compress --parallel です。
Docker ホスト サービス接続の dockerHostEndpoint
-
string
。
Docker ホストサービス接続を選択します。 既定では、エージェントのホストが使用されます。
Docker Compose ファイルがない場合は no-op を nopIfNoDockerComposeFile
-
boolean
。 既定値: false
。
Docker Compose ファイルが存在しない場合は、このタスクをスキップします。 これは、リポジトリ内の Docker Compose ファイルの存在に基づいてタスクがオプションの動作を提供する場合に便利です。
requireAdditionalDockerComposeFiles
-
追加の Docker Compose ファイルが必要
boolean
。 既定値: false
。
追加の Docker Compose ファイルが存在しない場合は、エラーが生成されます。 これは、ファイルが存在しない場合に無視するデフォルトの動作を上書きします。
currentWorkingDirectory
-
作業ディレクトリの
入力エイリアス: cwd
。
string
。 既定値: $(System.DefaultWorkingDirectory)
。
Docker Compose コマンドの作業ディレクトリ。
Docker Compose の実行可能パスの dockerComposePath
-
string
。
この docker-compose 実行可能ファイルは、パスが指定されている場合に使用されます。
タスク コントロールのオプション
すべてのタスクには、タスク入力に加えて制御オプションがあります。 詳細については、「コントロール オプションと一般的なタスク プロパティを参照してください。
出力変数
このタスクでは、次の 出力変数を定義します。この変数は、ダウンストリームのステップ、ジョブ、およびステージで使用できます。
DockerComposeOutput
コマンドの出力を含むファイルのパス。 これには、dockerComposeRun コマンド (1 つは実行用、もう 1 つはダウン用)、dockerPush (プッシュされたイメージごとに 1 つ)、dockerBuild (ビルド自体とすべてのタグ コマンド)、および dockerDigest (プルされたイメージごとに 1 つ) の場合、複数のファイル パス (改行文字で区切られた) を含めることができます。 他のコマンドでは、1 つのファイルのみが出力されます。