📑
plumberをAzure Container Appsで動かす
はじめに
前回はコンテナインスタンスで、plumberを動かしてみました。
今回はAzure Container Appsでやってみます。
概要
以下の2ステップでできました。
- コードを書く
-
az containerapp up
する。- コードを用意しておくと、レジストリへPUSHからデプロイまでやってくれます。
環境は前回と同じ、Azure Cloud Shellを使用しています。
やってみた
コード記述
コードは前回のものをそのまま使います。コードを書くまでで一旦止めます。
UP
az containerapp up
でリソースグループから、良しなに作ってくれます。8分程度かかります。
RES_GROUP=rg-for-plumber-cp
APP_NAME=my-containerapp
az containerapp up \
-n $APP_NAME \
--source . \
--ingress external \
--target-port 80 \
--resource-group $RES_GROUP \
--location japaneast
成功するとURLが表示されます。
リソースグループには、以下のようにリソースが作られています
先のURLに/hello
を付与してアクセスします。問題なく動いていることが確認できました。
更新
コードを更新してみます。
sample.R(抜粋)
#* @get /hello
hw <- function() {
return("Hello, world!!!!!!!!!!!")
}
以下略
更新時のコマンドはaz containerapp update
を使います。
ソースから行う場合は、拡張機能が必要になります。
今度は6分弱かかりました。
# 拡張機能のインストール
az extension add --name containerapp
az containerapp update \
-n $APP_NAME \
-g $RES_GROUP \
--source .
/hello
に再アクセスすると、更新されていることが確認できます。
削除
コンテナアプリのみ消すこともできますが、今回はリソースグループごと消します。
削除には20分弱かかります。Container Apps Envのファイルの削除に、ものすごい時間がかかっている模様でした。
# コンテナアプリのみ消す場合
# az containerapp delete -g $RES_GROUP -n $APP_NAME
# リソースグループごと消す
az group delete --resource-group $RES_GROUP
おわりに
前回と同じコンテナを、別サービスを使って動かしてみました。
こちらの方が大変簡単で、かなり使い勝手がよさそうです。
この記事がどなたかのお役に立てれば幸いです。
Discussion