{Azure ACI}チュートリアル:Azure Container Instances へのデプロイに使用するコンテナー イメージを作成する

https://learn.microsoft.com/ja-jp/azure/container-instances/container-instances-tutorial-prepare-app

 


-- 1. 前作業

az login --use-device-code
az account show

az version

az configure --list-defaults
az configure --defaults location=japaneast
az configure --list-defaults

az group create \
--name rg9999999 \
--location japaneast


az group list
az upgrade

 


-- 2. アプリケーションのコードを入手する


git clone https://github.com/Azure-Samples/aci-helloworld.git


-- 3. コンテナー イメージを構築する

docker build ./aci-helloworld -t test
docker images


-- 4. コンテナーをローカルで実行する

docker run -d -p 8083:80 test

http://localhost:8083


-- 5. Azure Container Registry の作成


az acr create \
--resource-group rg9999999 \
--name acr123 \
--sku Basic


-- 6. コンテナー レジストへのにログイン
security -v unlock-keychain ~/Library/Keychains/login.keychain-db

az acr login --name acr123

-- 7. コンテナー イメージのタグ付け

az acr show \
--name acr123 \
--query loginServer \
--output table

docker images
docker tag test acr123.azurecr.io/test:v1
docker images


-- 8. Azure Container Registry へのイメージのプッシュ

docker push acr123.azurecr.io/test:v1


-- 9. Azure Container Registry のイメージの一覧表示

az acr repository list \
--name acr123 \
--output table

az acr repository show-tags \
--name acr123 \
--repository test \
--output table


-- 10. レジストリ資格情報を取得する

az acr show \
--name acr123 \
--query loginServer


-- 11. コンテナーをデプロイする

ACR_NAME=acr123
SERVICE_PRINCIPAL_NAME=sp123

ACR_REGISTRY_ID=$(az acr show --name $ACR_NAME --query "id" --output tsv)

PASSWORD=$(az ad sp create-for-rbac --name $SERVICE_PRINCIPAL_NAME --scopes $ACR_REGISTRY_ID --role acrpull --query "password" --output tsv)
USER_NAME=$(az ad sp list --display-name $SERVICE_PRINCIPAL_NAME --query "[].appId" --output tsv)

echo "Service principal ID: $USER_NAME"
echo "Service principal password: $PASSWORD"

 

az container create \
--resource-group rg9999999 \
--name test \
--image acr123.azurecr.io/test:v1 \
--cpu 1 \
--memory 1 \
--registry-login-server acr123.azurecr.io \
--ip-address Public \
--dns-name-label label123 \
--ports 80 \
--registry-username $USER_NAME \
--registry-password $PASSWORD

 


-- 12. デプロイの進行状況を確認する

az container show \
--resource-group rg9999999 \
--name test \
--query instanceView.state

-- 13. アプリケーションとコンテナー ログを表示する

az container show \
--resource-group rg9999999 \
--name test \
--query ipAddress.fqdn

az container logs \
--resource-group rg9999999 \
--name test


curl http://label123.japaneast.azurecontainer.io

 

-- 14. クリーンアップ

 

az group list

az group delete \
--name rg9999999 \
--yes