Alternative Architecture DOJO

オルターブースのクラウドネイティブ特化型ブログです。

Azure App Serviceでのサイドカー機能でDocker Hubのイメージを使う際の注意点

こんにちは、料理スキルは壊滅的ながらも辛うじて納豆炒飯だけは作れていたのですが、最近娘が納豆炒飯を作れるようになったので感心するとともにやや危機感を覚えている木村です。

先日、Azure App ServiceのDocker Compose機能が2027年3月31日で終了することが発表されました。

azure.microsoft.com

App Service上で複数のコンテナを動かすための新しい手段としては、サイドカー機能が2024年11月に一般提供されていますので、今後はこちらを使うことになります。

azure.microsoft.com

本記事では、Azure App Service のサイドカー機能を使ってDocker Hubの公式イメージを利用する手順を解説します。基本的には、以下の公式ドキュメントに沿って進めますが、コンテナレジストリとしてDocker Hubを指定する際に注意点がありますのでその点を皆さんに共有したいと思います。

learn.microsoft.com

1. App Serviceの準備とサンプルアプリケーションのデプロイ

まず、LinuxのWeb Appを作成します。ランタイムは.NET 9を選択してください。SKUはFreeプランで大丈夫です。
そして、以下のサンプルアプリをデプロイします。

github.com

こちらのアプリはローカルホストで動くRedisに接続し、入力された値を保存し、保存した値を画面に表示するだけのアプリです。

2. サイドカーの設定

次に、Web Appにサイドカーのコンテナを追加します。

Azureポータルの、WebAppのページで「デプロイセンター」にアクセスします。
初回は以下の図のように「アプリと一緒に実行するコンテナーを追加してみますか?ここをクリックして試してみてください」と表示されているので、クリックしてサイドカー機能を有効化します。

サイドカー機能を有効化する

「コンテナー(新規)」タブに移動し、「追加」からサイドカーコンテナを追加します。

サイドカーコンテナの追加

以下は、Redisの公式イメージをサイドカー機能で利用する際の設定例です。

  1. イメージのソース: その他のコンテナレジストリ
  2. イメージの種類: パブリック
  3. レジストリサーバーURL: index.docker.io
  4. イメージとタグ: library/redis:7.4
  5. ポート: 6379

注意する点として、Docker Hubの公式イメージを利用する場合、名前空間としてlibraryを指定する必要があります。

アプリからは、サイドカーのRedisへの接続はlocalhost:6379で接続できます。

実行結果

上記の設定で無事にRedisコンテナが動作することを確認しました。

Redisに接続するアプリケーションが正常に起動した様子

Docker Compose機能の終了後も、サイドカー機能を活用して複数のコンテナをApp Service上で動かすことができます。

まとめ

Azure App Serviceのサイドカー機能を試してみました。Docker Hubの公式イメージを利用する際には、名前空間の指定などのポイントに注意しながら設定を行いましょう。

なお、Redisであれば、Docker Hubの公式イメージを使う必要は実はありません。サイドカーの追加時に「Sidecar extension」を選べば簡単に利用できますので実際に使う場合はこちらを使われるのをお勧めします。

Sidecar extensionの利用

皆さんの参考になれば幸いです。


サービス一覧 www.alterbooth.com cloudpointer.tech www.alterbooth.com