Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save yuyalush/aa870d6c44d1da47e6a84e4f0003e636 to your computer and use it in GitHub Desktop.
Save yuyalush/aa870d6c44d1da47e6a84e4f0003e636 to your computer and use it in GitHub Desktop.
# 名前をの設定
ACR_NAME=pakuecontainerus
RG_NAME=pakuecontainerregistry
AKV_NAME=$ACR_NAME-vault
ACI_NAMe $ACI_NAME
# レジストリの作成
az acr create --resource-group $RG_NAME --name $ACR_NAME --location eastus --sku Basic
# Dockerfileのダウンロード
git clone https://github.com/yuyaluse $ACI_NAME-helloworld-node
ce $ACI_NAME-helloworld-node
# ビルドの実行
az acr build --registry $ACR_NAME --image helloacrbuild:v1 .
# Key Vaultの準備
az keyvault create --resource-group $RG_NAME --name $AKV_NAME
# Create service principal, store its password in AKV (the registry *password*)
az keyvault secret set \
--vault-name $AKV_NAME \
--name $ACR_NAME-pull-pwd \
--value $(az ad sp create-for-rbac \
--name $ACR_NAME-pull \
--scopes $(az acr show --name $ACR_NAME --query id --output tsv)\
--role reader
--query password
--output tsv)
# Store service principal ID in AKV (the registry *username*)
az keyvault secret set \
--vault-name $AKV_NAME \
--name $ACR_NAME-pull-usr \
--value $(az ad sp show --id http://$ACR_NAME-pull --query appId --output tsv)
# コンテナインスタンスにデプロイ
az container create \
--resource-group $RG_NAME \
--name $ACI_NAME \
--image $ACR_NAME.azurecr.io/helloacrbuild:v1 \
--registry-login-server $ACR_NAME.azurecr.io \
--registry-username $(az keyvault secret show --vault-name $AKV_NAME --name $ACR_NAME-pull-usr --query value -o tsv) \
--registry-password $(az keyvault secret show --vault-name $AKV_NAME --name $ACR_NAME-pull-pwd --query value -o tsv) \
--dns-name-label $ACI_NAME-$ACR_NAME \
--query "{FQDN:ipAddress.fqdn}" \
--location eastus \
--output table
# クリーンアップ
# 以下はACIの削除のみ。RGの削除が手っ取り早い
az container delete --resource-group $RG_NAME --name $ACI_NAME
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment