コンテナレジストリの使用
コンテナレジストリとは、名前付きのコンテナイメージを保持し、異なるタグ付きバージョンで利用可能にするストレージおよびコンテンツ配信システムです。
ユーザーは以下のソースからコンテナレジストリに接続できます
- Azure Container Registry
- Docker Hub
- GitHub コンテナレジストリ
- Docker V2 API をサポートする任意の汎用プライベートレジストリ
コンテナレジストリへのイメージのプッシュ
コンテナイメージをデプロイするには、あらかじめイメージをコンテナレジストリにアップロードしておく必要があります。イメージは Docker Hub、Azure Container Registry (ACR)、またはその他のレジストリにアップロードできます。Docker Hub、Azure Container Registry、その他のレジストリのいずれにプッシュする場合でも、同じ手順で行うことができます。Azure Container Registryをまだお持ちでない場合は、Push(プッシュ)のステップ中に作成することも可能です。
-
Container Explorerを開き、Registries(レジストリ)ビューの下にある Connect Registry...(レジストリの接続...)アイコンを選択して、プロンプトに従います。プロバイダー(AzureまたはDocker Hubなど)を選択し、レジストリに接続するための資格情報を入力します。プロンプトが表示されたら、Azure Resources 拡張機能をインストールしてください。

-
これで、Registriesの下にレジストリが表示されるようになります。

-
オプションとして、イメージにタグ付けを行います。イメージをレジストリにアップロードするには、
docker pushが適切なレジストリにアップロードできるように、イメージにレジストリ名をタグ付けする必要があります。プッシュ時にイメージにタグが付けられていない場合、VS Codeはイメージに関連付けるレジストリを尋ねてきます。-
以前にビルドしたイメージは、Container Explorerの Images(イメージ)ビューに表示されます。右クリックして Tag...(タグ付け...)を選択します。

-
新しい名前
<レジストリ名またはユーザー名>/<イメージ名>:<タグ>を指定してタグ付けのアクションを完了します。例えば、ACRの新しいイメージ名はmainacr.azurecr.io/webapp6:latestとなり、Docker Hubの場合はmyusername/webapp6:latestとなります。
-
-
イメージは、Container Explorerの Images ビューにおいて、そのイメージタグが指すレジストリの下に表示されます。このイメージを選択し、Push(プッシュ)を選択します。まだタグ付けされていない場合は、プッシュ先のレジストリを選択するか、新しいレジストリを作成するよう求められ、選択に基づいてイメージがタグ付けされます。

-
プッシュコマンドが完了したら、イメージがプッシュされたレジストリノードを更新すると、アップロードされたイメージが表示されます。

Docker Hub
これは Docker Hub に接続し、指定されたアカウント配下のすべてのリポジトリとイメージを一覧表示します。このオプションを選択すると、Docker Hubの資格情報の入力を求められます。

Docker Hubレジストリ内の各リポジトリに対して、以下の操作を実行できます
- Pull repository(リポジトリのプル): 指定されたリポジトリ内のすべてのイメージをローカルにコピーします
- Open in browser(ブラウザで開く): ブラウザを開き、Docker Hub上の指定されたリポジトリに移動します
- Refresh(更新): リポジトリを更新して変更を反映させます
リポジトリ内の各タグ付きイメージに対して、以下の操作を実行できます
- Pull image(イメージのプル): イメージの最新バージョンをローカルにコピーします
- Copy Full Tag(フルタグのコピー): フルタグをクリップボードにコピーします
- Deploy Image to Azure App Service(Azure App Serviceへイメージをデプロイ): イメージをAzure App Serviceにデプロイします。Azureへのイメージのデプロイページを参照してください
- Deploy Image to Azure Container Apps(Azure Container Appsへイメージをデプロイ): イメージをAzure Container Appsにデプロイします。Azureへのイメージのデプロイページを参照してください
- Open in browser(ブラウザで開く): ブラウザを開き、Docker Hub上の指定されたイメージに移動します
Azure Container Registry
このオプションを使用するには、Azure Resources 拡張機能が必要です。これによりAzureアカウントに接続し、すべてのサブスクリプションとレジストリを表示できるようになります。認証されると、Azureノードにサブスクリプションとそれぞれのレジストリが表示されます

各レジストリに対して、コンテキストメニューを使用して以下の異なる操作を実行できます

- Delete Registry(レジストリの削除): レジストリを完全に削除します
- Open in Portal(ポータルで開く): ブラウザを開き、Azure Portal上のレジストリに移動します
- View Properties(プロパティの表示): レジストリのプロパティをJSON形式で開きます
- Refresh(更新): レジストリを更新して変更を反映させます
指定されたレジストリ内の各リポジトリに対して、以下の操作を実行できます

- Pull Repository(リポジトリのプル): 指定されたリポジトリ内のすべてのイメージをローカルにコピーします
- Delete Repository(リポジトリの削除): リポジトリを完全に削除します
- Refresh(更新): リポジトリを更新して変更を反映させます
リポジトリ内の各タグ付きイメージに対して、以下の操作を実行できます

- Pull Image(イメージのプル): イメージの最新バージョンをローカルにコピーします
- Copy Full Tag(フルタグのコピー): フルタグをクリップボードにコピーします
- Copy Image Digest(イメージダイジェストのコピー): Dockerが使用するSHA256ハッシュ識別子であるイメージダイジェストをクリップボードにコピーします。イメージダイジェストの詳細については、Dockerドキュメントを参照してください
- Inspect Image Manifest(イメージマニフェストの調査): イメージのレジストリマニフェストを調査します。これは、イメージをローカルにプルした後の調査とは異なります。
- Deploy Image to Azure App Service(Azure App Serviceへイメージをデプロイ): イメージをAzure App Serviceにデプロイします。Azureへのイメージのデプロイページを参照してください
- Deploy Image to Azure Container Apps(Azure Container Appsへイメージをデプロイ): イメージをAzure Container Appsにデプロイします。Azureへのイメージのデプロイページを参照してください
- Untag Image(タグの削除): イメージのタグを解除します
- Delete Image(イメージの削除): イメージを完全に削除します
GitHub
これは、あなたの GitHub アカウント内のコンテナレジストリに接続します。このオプションを選択すると、GitHubアカウントの資格情報の入力を求められます。

GitHubレジストリ内の各リポジトリに対して、以下の操作を実行できます
- Pull Repository(リポジトリのプル): 指定されたリポジトリ内のすべてのイメージをローカルにコピーします
- Refresh(更新): リポジトリを更新して変更を反映させます
リポジトリ内の各タグ付きイメージに対して、以下の操作を実行できます
- Pull Image(イメージのプル): イメージの最新バージョンをローカルにコピーします
- Copy Full Tag(フルタグのコピー): フルタグをクリップボードにコピーします
- Copy Image Digest(イメージダイジェストのコピー): Dockerが使用するSHA256ハッシュ識別子であるイメージダイジェストをクリップボードにコピーします。イメージダイジェストの詳細については、Dockerドキュメントを参照してください
- Inspect Image Manifest(イメージマニフェストの調査): イメージのレジストリマニフェストを調査します。これは、イメージをローカルにプルした後の調査とは異なります。
- Deploy Image to Azure App Service(Azure App Serviceへイメージをデプロイ): イメージをAzure App Serviceにデプロイします。Azureへのイメージのデプロイページを参照してください
- Deploy Image to Azure Container Apps(Azure Container Appsへイメージをデプロイ): イメージをAzure Container Appsにデプロイします。Azureへのイメージのデプロイページを参照してください