次の方法で共有


イメージをプッシュする

Azure DevOps Services

Azure Pipelines を使用して、Azure Container Registry、Docker Hub、Google Container Registry などのコンテナー レジストリにイメージをプッシュします。 Azure Container Registry は、オープン ソースの Docker Registry 2.0 に基づくマネージド レジストリ サービスです。

イメージをビルドしてコンテナー レジストリにプッシュするチュートリアルについては、Docker イメージをビルドして Azure Container Registry にプッシュする方法に関するページを参照してください。

Azure Pipelines を使用してデプロイするコンテナー イメージを構築する方法については、アプリをデプロイするためのコンテナー イメージのビルドに関するページを参照してください。

Docker タスクについて

Docker@2 タスク を使用して、Docker イメージのビルドまたはプッシュ、ログインまたはログアウト、コンテナーの開始または停止、Docker コマンドの実行を行います。

このタスクでは、Azure Container Registry の Docker レジストリ サービス接続 を使用してログインし、コンテナー レジストリにプッシュします。 Docker レジストリ サービス接続を作成するプロセスは、レジストリによって異なります。

Docker レジストリ サービス接続では、イメージをプッシュする前にコンテナー レジストリに資格情報が格納されます。 追加のスクリプト タスクを使用せずに、Docker でサービス接続を直接参照することもできます。

Docker サービス接続を作成する

Azure Container Registry、Docker Hub、Google Container Registry のサービス接続を作成するには、別のプロセスに従う必要があります。

Azure Container Registry オプションを使用すると、サブスクリプション (Azure DevOps にサインインしたユーザーの Microsoft Entra ID に関連付けられている) とサブスクリプション内のコンテナー レジストリが、サービス接続の作成に使用されます。

Note

このサービス接続方法では、認証にワークロード ID フェデレーションではなく、サービス プリンシパルが使用されます。 代わりに Azure Container Registry でワークロード ID を使用する方法については、「Azure Container Registry の管理サービス接続を参照してください。

Dockerfile を含むリポジトリの新しいパイプラインを作成すると、Azure Pipelines によってリポジトリ内の Dockerfile が検出されます。 このプロセスを開始するには、新しいパイプラインを作成し、Dockerfile を含むリポジトリを選択してください。

  1. [構成] タブで、[Docker - イメージをビルドし、Azure Container Registry にプッシュする] タスクを選択してください。

    [Docker イメージをビルドして Azure Container Registry にプッシュする] のスクリーンショット。

  2. [Azure サブスクリプション] を選択してから [続行] を選択してください。

  3. ドロップダウン メニューから [コンテナー レジストリ] を選択し、コンテナー イメージにイメージ名を指定してください。

  4. 完了したら、[検証と構成] を選択してください。

    イメージをビルドして Azure Container Registry にプッシュするように Docker パイプラインを構成する方法を示すスクリーンショット。

    Azure Pipelines によってパイプラインが作成され、次が行われます。

    • "Docker レジストリ サービス接続" を作成して、パイプラインからコンテナー レジストリにイメージをプッシュできるようにします。

    • パイプラインを定義する azure-pipelines.yml ファイルを生成します。

詳細な概要については、Azure Container Registry へのビルドとプッシュに関するドキュメントを参照してください。