Azure Container Registry にコンテナー イメージをプッシュする
このユニットでは、Azure Container Registry サービスを使用して、コンテナー イメージを Azure コンテナー レジストリにプッシュします。 Azure Container Registry を使用すると、すべての種類のコンテナー デプロイのプライベート レジストリでコンテナー イメージと成果物をビルド、格納、管理できます。 既存のコンテナー開発およびデプロイ パイプラインで Azure コンテナー レジストリを使用します。
注
セッションがアイドル状態になった場合、または別の時点または別の CLI からこの手順を実行している場合は、次のコマンドを使用して環境変数を再初期化し、再認証する必要があります。
セットアップで使用するリソース変数の値を復元します。 以下の <your-subscription-ID> を、このモジュールで使用したサブスクリプションの ID に置き換えます。 サインイン時にサブスクリプション セレクターが表示される場合は、同じサブスクリプションを選択します。 認証コマンドを1つずつ順番に実行します。
az account show後、続行する前に、アクティブなサブスクリプションがセットアップと一致することを確認してください。 コマンドが失敗した場合は、作業を中止してエラーを解決してください。
export AZ_RESOURCE_GROUP=java-containerization-demo-rg
export AZ_CONTAINER_REGISTRY=<your-container-registry>
export AZ_KUBERNETES_CLUSTER=java-containerization-demo-aks
export AZ_LOCATION=<your-Azure-region>
export AZ_KUBERNETES_CLUSTER_DNS_PREFIX=<your-unique-DNS-prefix-to-access-your-AKS-cluster>
az login
az account set --subscription "<your-subscription-ID>"
az account show --output table
az acr login --name "$AZ_CONTAINER_REGISTRY"
コンテナー イメージをプッシュする
新しくビルドされたコンテナー イメージを Azure コンテナー レジストリにプッシュできます。 これにより、コンテナー イメージは、Azure Kubernetes Service (AKS) クラスターなど、すべての Azure リソースに近いネットワークになります。 後で、レジストリから flightbookingsystemsample イメージをプルするように AKS を構成します。 コンテナー イメージをレジストリにプッシュするには、次の手順に従います。
まだサインインしていない場合は、次のコマンドを使用して Azure Container Registry にサインインします。
az acr loginタグ付けまたはプッシュする前に、実際のローカル イメージを調べます。
docker image inspect flightbookingsystemsample:latest \ --format '{{.Os}}/{{.Architecture}}'このパスの場合、結果は
linux/amd64である必要があります。 異なる場合は、続行する前に、前のユニットで説明したように--platform linux/amd64を使用してイメージを再構築して実行します。 タグ付けとプッシュではイメージの対応プラットフォームが維持されます。アーキテクチャは変更されません。次のコマンドを使用して、以前にビルドしたコンテナー イメージに Azure コンテナー レジストリをタグ付けします。
docker tag flightbookingsystemsample $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsample次のコマンドを使用して、コンテナー イメージを Azure コンテナー レジストリにプッシュします。
docker push $AZ_CONTAINER_REGISTRY.azurecr.io/flightbookingsystemsampleプッシュが完了したら、次のコマンドを使用して、新しくプッシュされたイメージの Azure コンテナー レジストリ イメージメタデータを表示できます。
az acr repository show \ --name $AZ_CONTAINER_REGISTRY \ --image flightbookingsystemsample:latest
次の履歴メタデータは例示です。 イメージ ダイジェストとタイムスタンプは、更新されたイメージをビルドしてプッシュした後で異なる場合があります。
{
"changeableAttributes": {
"deleteEnabled": true,
"listEnabled": true,
"readEnabled": true,
"writeEnabled": true
},
"createdTime": "2024-11-15T12:23:55.5624474Z",
"digest": "sha256:13851640a3****************************************f7f1e482c6eaa825",
"lastUpdateTime": "2024-11-15T12:23:55.5624474Z",
"name": "latest",
"signed": false
}
これで、コンテナー イメージが Azure コンテナー レジストリ内に配置され、AKS などの Azure サービスによるデプロイの準備が整いました。