Azure のプライベート Docker コンテナー レジストリの概要Introduction to private Docker container registries in Azure

Azure コンテナー レジストリは、オープンソースの Docker Registry 2.0 に基づいた、管理された Docker レジストリ サービスです。Azure Container Registry is a managed Docker registry service based on the open-source Docker Registry 2.0. プライベート Docker コンテナー イメージを保存および管理する Azure コンテナー レジストリを作成および管理します。Create and maintain Azure container registries to store and manage your private Docker container images.

Azure では、すでにあるコンテナ開発パイプラインやデプロイ パイプラインでコンテナー レジストリを利用することができます。Use container registries in Azure with your existing container development and deployment pipelines. Azure Container Registry Build (ACR Build) を使用することで Azure 内にコンテナー イメージをビルドできます。Use Azure Container Registry Build (ACR Build) to build container images in Azure. オンデマンドでビルドしたり、ソースコード コミットやベース イメージ アップデート ビルド トリガーを使用してビルドを完全自動化したりできます。Build on demand, or fully automate builds with source code commit and base image update build triggers.

Docker およびコンテナーに関する背景情報は、Docker概要を参照してください。For background about Docker and containers, see the Docker overview.

ユース ケースUse cases

Azure コンテナー レジストリからさまざまなデプロイ ターゲットにイメージをプルできます。Pull images from an Azure container registry to various deployment targets:

開発者は、コンテナー開発ワークフローの一環としてコンテナー レジストリにプッシュすることもできます。Developers can also push to a container registry as part of a container development workflow. たとえば、Visual Studio Team ServicesJenkins などの継続的な統合とデプロイ ツールからコンテナー レジストリを対象にすることができます。For example, target a container registry from a continuous integration and deployment tool such as Visual Studio Team Services or Jenkins.

ACR Build ビルド タスクの設定では、ベース イメージが更新されたときに自動的にアプリケーションイメージのリビルドされるように指定できます。Configure ACR Build build tasks to automatically rebuild application images when their base images are updated. ACR Build を利用して、Git レポジトリにコードが コミットされたときのイメージ ビルドを自動化してください。Use ACR Build to automate image builds when your team commits code to a Git repository. ACR Build は現在プレビュー段階です。ACR Build is currently in preview.

主要な概念Key concepts

  • レジストリ - Azure サブスクリプションに 1 つ以上のコンテナー レジストリを作成できます。Registry - Create one or more container registries in your Azure subscription. レジストリには、Basic、Standard、Premium の 3 つの SKU があり、それぞれ webhook 統合、Azure Active Directory によるレジストリ認証、削除機能がサポートされます。Registries are available in three SKUs: Basic, Standard, and Premium, each of which support webhook integration, registry authentication with Azure Active Directory, and delete functionality. デプロイと同じ Azure の場所にレジストリを作成することで、ネットワーク上の近い場所にローカルで保存されたコンテナー イメージを活用します。Take advantage of local, network-close storage of your container images by creating a registry in the same Azure location as your deployments. 高度なレプリケーションとコンテナー イメージの配布に対応するには、Premium レジストリの geo レプリケーション機能を使用してください。Use the geo-replication feature of Premium registries for advanced replication and container image distribution scenarios. レジストリの完全修飾名は myregistry.azurecr.io という形式になります。A fully qualified registry name has the form myregistry.azurecr.io.

    コンテナー レジストリへのアクセスを制御するには、Azure Active Directory でサポートされているサービス プリンシパルまたは提供された管理者アカウントを使用します。You control access to a container registry using an Azure Active Directory-backed service principal or a provided admin account. レジストリによる認証を行うには、標準の docker login コマンドを実行します。Run the standard docker login command to authenticate with a registry.

  • リポジトリ - レジストリには、1 つ以上のリポジトリ (コンテナー イメージのグループ) が含まれています。Repository - A registry contains one or more repositories, which are groups of container images. Azure Container Registry では、複数レベルのリポジトリ名前空間をサポートしています。Azure Container Registry supports multilevel repository namespaces. 複数レベルの名前空間により、特定のアプリまたはアプリのコレクションに関連するイメージのコレクションを特定の開発チームや運用チーム別にグループ化できます。With multilevel namespaces, you can group collections of images related to a specific app, or a collection of apps to specific development or operational teams. 例: For example:

    • myregistry.azurecr.io/aspnetcore:1.0.1 は、会社全体のイメージを表しますmyregistry.azurecr.io/aspnetcore:1.0.1 represents a corporate-wide image
    • myregistry.azurecr.io/warrantydept/dotnet-build は、保証部門全体で共有される、.NET アプリを構築するために使用するイメージを表しますmyregistry.azurecr.io/warrantydept/dotnet-build represents an image used to build .NET apps, shared across the warranty department
    • myregistry.azurecr.io/warrantydept/customersubmissions/web は、保証部門が所有する、customer submissions アプリでグループ化された Web イメージを表しますmyregistry.azurecr.io/warrantydept/customersubmissions/web represents a web image, grouped in the customer submissions app, owned by the warranty department
  • イメージ - リポジトリに格納されます。各イメージは、Docker コンテナーの読み取り専用のスナップショットです。Image - Stored in a repository, each image is a read-only snapshot of a Docker container. Azure コンテナー レジストリには、Windows と Linux の両方のイメージを含めることができます。Azure container registries can include both Windows and Linux images. すべてのコンテナーのデプロイのイメージ名を制御できます。You control image names for all your container deployments. イメージをリポジトリにプッシュしたり、イメージをリポジトリからプルしたりするには、標準の Docker コマンドを使用します。Use standard Docker commands to push images into a repository, or pull an image from a repository.

  • コンテナー - コンテナーでは、ソフトウェア アプリケーションと、コード、ランタイム、システム ツール、ライブラリを含む完全なファイル システム内にラップされた依存関係を定義します。Container - A container defines a software application and its dependencies wrapped in a complete filesystem including code, runtime, system tools, and libraries. コンテナー レジストリからプルした Windows または Linux イメージに基づいて Docker コンテナーを実行します。Run Docker containers based on Windows or Linux images that you pull from a container registry. 1 台のコンピューターで実行されているすべてのコンテナーでは、オペレーティング システムのカーネルを共有します。Containers running on a single machine share the operating system kernel. Docker コンテナーは、主要なすべての Linux ディストリビューション、macOS、および Windows に完全に移植できます。Docker containers are fully portable to all major Linux distros, macOS, and Windows.

Azure Container Registry Build (プレビュー)Azure Container Registry Build (Preview)

Azure Container Registry Build (ACR Build) は、Azure 上で簡略化し効率的な Docker コンテナー イメージ ビルドを行えるようにする、Azure Container Registry の機能一式です。Azure Container Registry Build (ACR Build) is a suite of features within Azure Container Registry that provides streamlined and efficient Docker container image builds in Azure. ACR Build を利用して、docker build オペレーションを Azure にオフロードすることで開発内部ループをクラウドにまで拡大することができます。Use ACR Build to extend your development inner-loop to the cloud by offloading docker build operations to Azure. ビルド タスクの設定では、コンテナーの OS およびフレームワーク パッチ適用 パイプラインを自動化し、ソース コントロールにコードがコミットされたときに自動的にイメージがビルドされるよう指定できます。Configure build tasks to automate your container OS and framework patching pipeline, and build images automatically when your team commits code to source control.

重要

ACR Build は現在プレビュー段階です。ACR Build is currently in preview. プレビュー版は、追加使用条件に同意することを条件に使用できます。Previews are made available to you on the condition that you agree to the supplemental terms of use. この機能の一部の側面は、一般公開 (GA) 前に変更される可能性があります。Some aspects of this feature may change prior to general availability (GA).

次の手順Next steps