Azure CLI で App Service へ デプロイしてみる
はじめに
App Service のカスタムコンテナーに Azure CLI を使用してデプロイしてみます。デプロイ内容は Nginx のデフォルトの内容を表示するところまで行ってみようと思います。
Azure CLIをダウンロードしていない場合はこちらからダウンロードして設定をしてください。
また、サブスクリプションは作成している前提とします。
環境
Docker version 20.10.17
azure-cli 2.39.0
Dockerfile
今回は最小の構成でNginxを構築する内容を作成します。Dockerfile
を以下の内容とします。
FROM nginx:latest
EXPOSE 80
RUN service nginx start
Deploy
az login
コマンドでログインします。その次に subscription
の設定をします。
サブスクリプションの変更が必要な場合は以下のコマンドで変更を行ってください。
# サブスクリプション複数所持している場合にすべて表示します
az account list --output table --all
# 以下のコマンドでサブスクリプションの変更を行います
az account set --subscription YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY
切り替わったかどうかは最初のコマンドを実行し、 IsDefault
が True
になっていれば切り替わっています。
これから作成するリソースの値を定義します。
LOCATION=japaneast
RESOURCEGROUP_NAME=4kzknt-rg
ACR_NAME=4kzknt-acr
ACR_SKU=Basic
DOCKER_TAG_NAME=4kzknt-tag-name
ASP_NAME=4kzkntaspname
ASP_SKU=B1
APPSERVICE_NAME=4kzkntwebapp
リソースグループ作成
次にリソースグループを作成していきます。コマンドのオプション等については以下の公式ドキュメントを参照してください。
az group create --location $LOCATION --name $RESOURCEGROUP_NAME
Azure Container Registryにイメージをプッシュ
Azure Container Registory を作成して、 Registory
視覚情報を取得します。
az acr create --resource-group $RESOURCEGROUP_NAME --name $ACR_NAME --sku $ACR_SKU --admin-enabled true --location $LOCATION
az acr credential show --resource-group $RESOURCEGROUP_NAME --name $ACR_NAME
次に、Docker イメージを registory
にプッシュします。
docker build -t $DOCKER_TAG_NAME .
docker tag $DOCKER_TAG_NAME:latest $ACR_NAME.azurecr.io/$DOCKER_TAG_NAME:latest
az acr login --name $ACR_NAME
docker push $ACR_NAME.azurecr.io/$DOCKER_TAG_NAME:latest
App Service 作成
App Service Plan(ASP)を作成していきます。コマンドのオプション等については以下の公式ドキュメントを参照してください。
az appservice plan create --name $ASP_NAME--resource-group $RESOURCEGROUP_NAME --sku $ASP_SKU --is-linux
az webapp create --resource-group $RESOURCEGROUP_NAME --plan $ASP_NAME --name $APPSERVICE_NAME --deployment-container-image-name $ACR_NAME.azurecr.io/$DOCKER_TAG_NAME:latest
az webapp config appsettings set --resource-group $RESOURCEGROUP_NAME --name $APPSERVICE_NAME --settings WEBSITES_PORT=80
sku
に関しては今回は適当に入れているのでドキュメントを参照して適切に設定してください。
アクセス
https://4kzkntwebapp.azurewebsites.net
でアクセスすると以下のような画像が表示されます。
Cloean Up
az group delete --name $RESOURCEGROUP_NAME
おわりに
App ServiceにNginxのコンテナーをデプロイするところまでの流れを紹介しました。App Service に構築して検証する際にでも使用していければと思います。
デプロイチュートリアルは以下の公式ドキュメントを参照いただければと思います。
Discussion