Azure App Service on LinuxのコンテナをCLIで更新する方法

Posted on Nov 20, 2016

CLIでコンテナを更新したい

Connect(); 2016にあわせ、Azure App Service on Linuxのコンテナ対応が発表されました。Azure Container Serviceほどタップリマシマシな環境ではなく、サクッと楽してコンテナを使いたい人にオススメです。

さっそくデプロイの自動化どうすっかな、と検討している人もちらほらいらっしゃるようです。CI/CD側でビルド、テストしたコンテナをAPIなりCLIでApp Serviceにデプロイするやり口、どうしましょうか。

まだプレビューなのでAzureも、VSTSなどCI/CD側も機能追加が今後あると思いますし、使い方がこなれてベストプラクティスが生まれるとは思いますが、アーリーアダプターなあなた向けに、現時点でできることを書いておきます。

Azure CLI 2.0

Azure CLI 2.0に"appservice web config container"コマンドがあります。これでコンテナイメージを更新できます。

すでにyourrepoレポジトリのyourcontainerコンテナ、タグ1.0.0がデプロイされているとします。

$ az appservice web config container show -n yourcontainerapp -g YourRG
{
  "DOCKER_CUSTOM_IMAGE_NAME": "yourrepo/yourcontainer:1.0.0"
}

新ビルドのタグ1.0.1をデプロイするには、update -c オプションを使います。

$ az appservice web config container update -n yourcontainerapp -g YourRG -c "yourrepo/yourcontainer:1.0.1"
{
  "DOCKER_CUSTOM_IMAGE_NAME": "yourrepo/yourcontainer:1.0.1"
}

これで更新されます。