タスク 3 - Azure Container Registry に直接 Docker イメージを作成する - 方法 1
タスク 3
この演習では Visual Studio Code の Azure 関連の拡張を使用して、Azure 上に Azure Container Registry を新規に作成し、レジストリに直接 Docker イメージを作成します。
この方法ではローカル環境に Docker 環境を用意する必要はなく、また、Docker イメージを手動でプッシュする必要もありません。
Azure Container Registry に直接 Docker イメージを作成する方法の手順は以下の通りです。
手順
-
次のコマンドを実行して、Azure CLI を使用してリソース グループと Azure Container Registry を新規作成します
-
Visual Studio Code でプロジェクト containerapps-albumapi-javascript をオープンします
- キーボードの Shift + Alt + A を押下して Azure 拡張をアクティブにし、[RESOURCES] や [WORKSPACE] に Azure のリソースがリストされていることを確認します。リストされていない場合は Azure 拡張から Azure にログインします
操作画面イメージ
- Docker 拡張をアクティブにし、[REGISTRIES] に
ステップ 1
で作成した Azure Container registry のリソースがリストされていることを確認します。リストされていない場合は Docker 拡張から Azure にログインします操作画面イメージ
- キーボードの Ctrl + Shift + E を押下します。表示されたツリービューより Dockerfile を選択して右クリックし、表示されたコンテキストメニューより [Build Image in Azure…] をクリックします
操作画面イメージ
Tips: このメニューは Azure 拡張から Azure へのログインが完了していないとコンテキスト メニューに表示されませんので注意が必要です
-
コマンドバーに既定の Tag イメージ 名が入力された状態で “Tag image as… (Press ‘Enter’ to confirm or ‘Escape’ to cancel)” と表示されるので、そのままEnter キーを押下します
-
コマンドバーに “Select registry provider” と表示され、Azure を選択します
-
コマンドバーに “Select subscription” と表示され、所有するサブスクリプションが列挙されるので、使用する Azure サブスクリプションを選択します
-
コマンドバーに “Select registry” と表示され、サブスクリプション中の既存のコンテナレジストリの一覧に
ステップ 1
で作成した Azure Container Registry を選択します -
コマンドバーに “Select image base OS” と表示され、OS の一覧が表示されるので “Linux” を選択します
コマンドが実行され、
ステップ 1
で作成した Azure Container registry に Docker イメージが作成されます。【Tips:】 この手順の実行時、タイミングによっては以下のようなメッセージが返り Docker イメージの Push が失敗する場合があります。
Error: failed to download context. Please check if the URL is incorrect. If it has credentials, please check if they are expired
その場合はステップ 4
からの操作を再度実行してください。ステップ 2
からここまでと同様の手順をプロジェクト containerapps-albumui に対しても行います。
Azure Container Registry と Azure Resource Group はステップ 1
で作成したリソースを選択して使用します。[ステップ 2]からここまでの手順が環境制限により実施できない場合の回避策
次のコマンドを実行して、Azure CLI を使用して、
ステープ 1
で作成した Azure Container Registry にて直接 Docker Image を作成します。
APIアプリ:az acr build --registry handson01repo~~~ --image acabackendjavascript:v1 --file /path/to/Dockerfile /path/to/build/context
UIアプリ:az acr build --registry handson01repo~~~ --image acafrontend:v1 --file /path/to/Dockerfile /path/to/build/context
-
各 Docker イメージの Push が完了したら Azure ポータルにログインし、作成した Azure Container Registry の構成画面を開きます
-
画面左のメニューより [リポジドリ] を選択し、表示されたリポジトリの一覧に containerapps-albumapi-javascript と containerapps-albumui があることを確認します
- 画面左のメニューより [アクセス キー] をクリックし、遷移した画面内の [管理者ユーザー] のトグルボタンを “有効“にします
操作画面イメージ
この設定は Azure Container Apps に Docker イメージをデプロイするのに必要です。
ここまでの手順で Azure コンテナ レジストリの作成と Docker イメージの Push は完了です。
次の演習では Azure Container Apps のリソースを作成し、アプリケーションのコンテナーをデプロイします。