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. たとえば、Azure DevOps ServicesJenkins などの継続的インテグレーションとデプロイのツールからコンテナー レジストリを対象にします。For example, target a container registry from a continuous integration and deployment tool such as Azure DevOps Services or Jenkins.

ベース イメージが更新されたときに自動的にアプリケーションイメージをリビルドするように ACR タスクを設定します。Configure ACR Tasks to automatically rebuild application images when their base images are updated. Git レポジトリにコードが コミットされたときのイメージ ビルドを自動化するために、ACR タスクを利用します。Use ACR Tasks to automate image builds when your team commits code to a Git repository.

主要な概念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 タスクAzure Container Registry Tasks

Azure Container Registry タスク (ACR タスク) は、Azure における Docker コンテナーのイメージ ビルドを簡素化し、効率的に行えるようにする、Azure Container Registry 内の一連の機能です。Azure Container Registry Tasks (ACR Tasks) is a suite of features within Azure Container Registry that provides streamlined and efficient Docker container image builds in Azure. ACR タスクを利用して、docker build オペレーションを Azure にオフロードすることで、開発の社内ループをクラウドへと拡張します。Use ACR Tasks 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 タスクのプレビュー機能であるマルチステップ タスクでは、クラウドでのコンテナー イメージのビルド、テスト、および修正プログラムの適用のために、ステップ ベースでタスクの定義と実行を行えます。Multi-step tasks, a preview feature of ACR Tasks, provides step-based task definition and execution for building, testing, and patching container images in the cloud. タスクのステップでは、コンテナー イメージのビルド操作とプッシュ操作を個々に定義します。Task steps define individual container image build and push operations. 各ステップで実行環境としてコンテナーを使用するように、1 つまたは複数のコンテナーの実行を定義することもできます。They can also define the execution of one or more containers, with each step using the container as its execution environment.

次の手順Next steps