Azure Container Registry を使用してイメージのビルドと格納する
Azure Container Registry では、Azure ストレージ アカウントで、クラウドに Docker イメージを格納することができます。
シナリオ例では、チームは Container Registry を使って Docker イメージをホストすることにしました。 Container Registry を使って、他の Azure リソースと共に Azure に Docker イメージ レジストリを作成し、各 Docker イメージを安全に格納することができます。
このユニットでは、Container Registry と、Docker イメージを格納する場合にそれが提供する利点について、詳しく説明します。
Container Registry とは
Container Registry は、独自のプライベートな Docker レジストリを作成するために使用できる Azure サービスです。 Docker Hub のように、Container Registry は 1 つまたは複数のイメージを含むリポジトリを中心にして編成されます。 また、Container Registry によって、イメージがリビルドされたときにアプリを再デプロイするなどのタスクを自動化することもできます。
Docker Hub ではなく Container Registry を選ぶ重要な理由の 1 つはセキュリティです。具体的には以下のためです。
- 画像を表示して使用できるユーザーをより詳細に制御できます。
- イメージに署名して信頼性を高め、イメージが誤って (または意図的に) 破損したり、または感染したりする可能性を減らすことができます。
- Container Registry に格納されたすべてのイメージは、保存の時に暗号化されます。
Container Registry 内でのイメージの操作は Docker Hub と同様ですが、独自のメリットをいくつか備えています。
- Container Registry は Azure 上で実行されます。 レジストリをレプリケートして、それらがデプロイされそうな場所の近くにイメージを格納することができます。
- Container Registry は高度にスケーラブルです。Docker pull 用に強化されたスループットを備え、これを多数のノードで同時に利用できます。 Container Registry の Premium SKU には、500 GB (ギガバイト) のストレージが含まれています。
Container Registry を使用する
Azure portal または Azure CLI acr create コマンドを使ってレジストリを作成できます。 次のコード例では、新しいレジストリの名前は myregistry です。
az acr create --name myregistry --resource-group mygroup --sku standard --admin-enabled true
イメージの格納とホストに加えて、Container Registry を使ってイメージをビルドすることもできます。 イメージを自分でビルドして Container Registry にプッシュする代わりに、CLI を使ってイメージを構成する Docker ファイルやその他のファイルをアップロードします。 Container Registry により、イメージが自動的にビルドされます。 ビルドを実行するには、acr build コマンドを使います。
az acr build --file Dockerfile --registry myregistry --image myimage .
Azure Container Registry に関する追加情報と、プライベート レジストリの管理のためにサポートされている CLI コマンドへのリンクについては、このモジュールの "詳細情報" のセクションを参照してください。