【初心者向け】Azure Container Registry をざっくり理解する
この記事の内容
- Azure Container Registry(ACR)とは何か、その役割をわかりやすく解説します
- Dockerfileを使ったコンテナイメージの作成からローカルでの動作確認方法を紹介します
- Azure CLI を使って ACR へイメージをプッシュする手順を説明します
- Azure Container Instances(ACI)と ACR を連携させてコンテナを起動する流れを解説します
- ACR と ACI をセットで理解することで、Azure 上でのコンテナ運用の全体像が把握できます
Azure Container Registry(ACR)とは?
Azure Container Registry(ACR)は、Azure 上で提供されるプライベートな Docker コンテナレジストリサービスです。
一言で表すと「自分専用のコンテナイメージ保管庫」として利用できます。Docker Hub のようなパブリックレジストリとは異なり、企業や個人の用途でコンテナイメージをプライベートに管理したい場合に非常に便利です。
前回紹介した Azure Container Instances(ACI)はコンテナを「動かす場所」でしたが、ACR はコンテナイメージを「保存・管理する場所」にあたります。ACI と ACR は連携して使うことが多いため、セットで理解しておくと実践で役立ちます。
コンテナイメージの作成と動作確認
Dockerfile の作成
まず、手元の PC で Dockerfile を作成します。Dockerfile は「こういう環境・アプリケーションを作りたい」というレシピのようなものです。
今回は Nginx を使ったシンプルな Web サーバーを例として使用します。Dockerfile と合わせて、表示用の HTML ファイルも用意しておきましょう。
FROM nginx:alpine
COPY ./html /usr/share/nginx/html
html フォルダの中に index.html などの Web ページファイルを配置しておきます。
イメージのビルド
コマンドプロンプトを開き、Dockerfile があるディレクトリで以下のコマンドを実行してイメージをビルドします。
docker build -t myweb .
ローカルでの動作確認
ビルドが完了したら、ローカルでコンテナを起動して動作を確認します。
docker run -d -p 8080:80 myweb
ブラウザで localhost:8080 にアクセスし、Web ページが表示されれば成功です。
Azure Container Registry の作成
Azure ポータルで「Container Registry(コンテナレジストリ)」リソースを作成します。
作成時には以下の項目を指定します。
- リソースグループ: 既存のものを使用するか、新規作成します
- レジストリ名: 他と重複しない一意の名前を設定します
- リージョン: 使用するリージョンを選択します
- プラン: 通常は「Standard」で十分です(必要に応じて Premium も選択可能)
作成直後は「リポジトリ」タブに何も登録されていません。この後の手順でイメージをプッシュすることで、ここに表示されるようになります。
ACR へのログインとイメージのプッシュ
Azure CLI のインストール
ACR の操作には Azure CLI(az コマンド)が必要です。インストールされていない場合は以下のコマンドでインストールします。
winget install Microsoft.AzureCLI
Azure へのログイン
インストール後、まず Azure にログインします。
az login
ブラウザが起動し、認証が完了するとサブスクリプションの選択などが行えるようになります。
ACR へのログイン
続いて、作成した ACR にログインします。
az acr login --name <ACRの名前>
イメージへのタグ付け
ACR へプッシュするために、イメージに ACR 用のタグを付けます。
docker tag myweb <ACRのログインサーバー>/myweb:latest
ログインサーバーは myacr.azurecr.io のような形式になります。たとえば以下のようになります。
docker tag myweb myacr.azurecr.io/myweb:latest
イメージのプッシュ
タグを付けたイメージを ACR へプッシュします。
docker push <ACRのログインサーバー>/myweb:latest
プッシュが完了すると、Azure ポータルの「リポジトリ」タブにイメージが表示されるようになります。
ACI から ACR のイメージを使ってコンテナを起動する
ACR にイメージを保存できたら、次は Azure Container Instances(ACI)を使ってそのイメージからコンテナを起動します。
ACI の作成画面で以下のように設定します。
- イメージソース: 「Azure Container Registry」を選択
- レジストリ: 先ほど作成した ACR を指定
- イメージ: プッシュしたイメージ(例:
myweb:latest)を選択 - 公開ポート:
80など、アプリケーションが使用するポートを指定 - OS: Linux または Windows を選択
なお、ACR からイメージを取得するために「管理者ユーザー有効化」が必要になる場合があります。その際は ACR の「プロパティ」から有効化しておきましょう。
ACI の作成が完了すると、グローバル IP アドレスが割り当てられます。そのアドレスにブラウザからアクセスすると、先ほど作成した Web ページが表示されることを確認できます。
まとめ
今回は Azure Container Registry(ACR)の基本的な使い方を解説しました。全体の流れを整理すると以下のようになります。
- Dockerfile でアプリケーションのコンテナイメージを作成する
- ローカルで
docker runを使って動作確認する - Azure ポータルで ACR リソースを作成する
- Azure CLI を使って ACR にログインし、イメージをプッシュする
- ACI の作成時に ACR を指定し、コンテナを起動する
この流れを理解しておけば、Azure 上で自分専用のアプリケーションコンテナを構築・運用できるようになります。ACI と ACR はセットで使うケースが多いため、両方の役割をしっかり把握しておくことが重要です。
今回は初心者向けにざっくりとした解説を行いましたが、今後はより高度な使い方や他の Azure サービスとの連携についても紹介していく予定です。ぜひお楽しみにしてください。