すべてのプロダクト
Search
ドキュメントセンター

Container Registry:Container Registry Enterprise Edition インスタンスを使用してイメージをビルドする

最終更新日:Aug 20, 2025

Container Registry Enterprise Edition は、ソースコードからコンテナイメージへの安全かつ効率的な自動継続的インテグレーションプロセスを提供します。Container Registry Enterprise Edition はまた、Dockerfile ルールに基づいてイメージを自動的にビルドし、イメージリポジトリにコミットする機能も提供します。このトピックでは、Container Registry Enterprise Edition インスタンスを使用してコンテナイメージをビルドする方法について説明します。

前提条件

背景情報

Container Registry のイメージビルドサービスは、セキュリティ、安定性、インテリジェントなアクセラレーションを特長としています。

  • セキュリティ:セキュリティを確保するために、システムは各イメージビルドタスクを Alibaba Cloud アカウント専用の環境に配布します。

  • 安定性:ソースコードリポジトリを使用して複数のイメージをビルドする場合、イメージビルドタスクは Alibaba Cloud アカウント専用の環境で実行されるため、各イメージビルドタスクに費やされる時間は安定しています。

  • インテリジェントなアクセラレーション:

    • デフォルトでは、システムは効率的なビルドツール BuildKit を使用します。BuildKit は、特にマルチステージビルドシナリオにおいて堅牢なビルド機能を備えており、豊富なビルド機能をサポートしています。

    • システムは一般的なベースイメージをホストしています。イメージビルド中に、システムはイメージをプルすることなくベースイメージを使用できます。ベースイメージは、ビルド期間の短縮に役立ちます。

    • システムはリモートキャッシュを使用してイメージビルドを高速化できます。

Container Registry は、複数のコードホスティングプラットフォームと高速イメージ生成をサポートしています。

  • コードホスティングプラットフォーム:次の表に、サポートされているコードホスティングプラットフォームを示します。

    コードホスティングプラットフォーム

    コードホスティングプラットフォームのバージョン

    バインディングの認証方法

    イメージビルドのトリガー制限

    Gitee

    Personal Edition インスタンスは Gitee にバインドできません。

    すべて

    Gitee OAuth 認証

    なし

    GitHub

    GitHub 開発者バージョン

    GitHub OAuth 認証

    なし

    GitLab

    すべて

    プライベートアクセストークン

    なし

    Bitbucket

    すべて

    Gitee OAuth 認証

    なし

  • 高速イメージ生成:システムでは、コンテナイメージのリソースをオンデマンドでロードできます。コンテナイメージの高速化バージョンは、コンテナイメージがプッシュされた後に自動的に生成されます。詳細については、「コンテナイメージのリソースをオンデマンドでロードする」をご参照ください。

ステップ 1:インスタンスをソースコードホスティングプラットフォームにバインドする

イメージをビルドする前に、インスタンスをソースコードホスティングプラットフォームにバインドする必要があります。詳細については、「ソースコードホスティングプラットフォームをバインドする」をご参照ください。

重要
  • オンプレミスのコードリポジトリからイメージをビルドすることはできません。

  • VPC 内のプライベート GitLab コードリポジトリをバインドする方法については、「VPC でコンテナイメージをビルドする」をご参照ください。

ステップ 2:名前空間を作成する

  1. Container Registry コンソール にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

  4. [インスタンス] ページで、名前空間を作成する Container Registry Enterprise Edition インスタンスをクリックします。

  5. Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、[リポジトリ] > [名前空間] を選択します。

  6. [名前空間] ページで、[名前空間の作成] をクリックします。

  7. [名前空間の作成] サイドバーで、[名前空間] を構成し、[リポジトリの自動作成][オン] または [オフ] に設定します。次に、[確認] をクリックします。

    [リポジトリの自動作成][オン] として選択した場合は、以下の手順に従ってください。

    パラメーター

    説明

    [リポジトリタイプ]

    • [パブリック]:デフォルトでは、パブリックイメージをプルするには、ユーザーが Enterprise Edition インスタンスにログインする必要があります。匿名プルを許可する場合は、インスタンスのパブリック匿名プル設定を有効にします。

      パブリックリポジトリは権限のないユーザーによってプルされる可能性があるため、情報セキュリティを確保するためにリポジトリをプライベートに設定することをお勧めします。
    • [プライベート]:Enterprise Edition のプライベートイメージをプルするには、ユーザーが Enterprise Edition インスタンスにログインし、プル権限を持っている必要があります。

    [不変イメージタグ]

    [フレキシブル] または [不変]。有効にすると、リポジトリ内の latest 以外のすべてのタグを上書きできなくなり、コンテナイメージの一貫性が確保されます。

    高速化イメージ

    イメージの高速化を有効にするかどうかを指定します。有効にすると、リポジトリ内のすべてのイメージが、_accelerated サフィックスが付いた高速イメージを自動的に生成します。

ステップ 3:イメージリポジトリを作成する

説明

高速イメージは、Container Registry Standard Edition インスタンスと Advanced Edition インスタンスでのみビルドできます。Basic Edition インスタンスを Standard Editon インスタンスまたは Advanced Edition インスタンスにスペックアップすることをお勧めします。

イメージリポジトリを作成し、コードリポジトリにバインドします。コードリポジトリから生成されたすべてのイメージは、イメージリポジトリにプッシュされます。

  1. Container Registry コンソール にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

  4. [インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。

  5. Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、[リポジトリ] > [リポジトリ] を選択します。

  6. [リポジトリ] ページで、[リポジトリの作成] をクリックします。
  7. [リポジトリ情報] ステップで、[名前空間][リポジトリ名][リポジトリタイプ][タグ][高速イメージ][概要][説明] パラメーターを構成します。次に、[次へ] をクリックします。

  8. [コードソース] ステップで、[コードソース][ビルド設定][ビルドルール] を構成し、[リポジトリの作成] をクリックします。

    パラメーター

    説明

    コードソース

    コードソース。

    ビルド設定

    • [コード変更時にイメージを自動的にビルドする]:ブランチからコードがコミットされると、ビルドルールが自動的にトリガーされます。

    • [中国本土以外にデプロイされたサーバーでビルドする]:ビルドプロセス中に、高速リンクを使用して中国本土以外からデータソースをプルします。プロジェクトで GitHub または BitBucket をコードソースとして使用している場合、または Dockerfile を中国本土以外のサイトからダウンロードする必要がある場合、国境を越えたネットワークが不安定な場合は、[中国本土以外にデプロイされたサーバーでビルドする] を有効にできます。

    • [キャッシュなしでビルドする]:システムは、イメージがビルドされるたびに、ソースコードリポジトリからベースイメージをプルします。これはビルドプロセスを遅くする可能性があります。イメージビルドを高速化するために、[キャッシュなしでビルドする] を無効にすることができます。

    [リポジトリ] ページで、作成したイメージリポジトリをクリックします。リポジトリ管理ページの左側のナビゲーションウィンドウに [ビルド] が表示されている場合、イメージリポジトリはソースコードリポジトリにバインドされています。

ステップ 4:イメージをビルドする

説明

リポジトリ管理ページで [ビルド] が見つからない場合、Enterprise Edition インスタンスはコードソースホスティングプラットフォームにバインドされていません。ステップ 1 を参照して、インスタンスをソースコードホスティングプラットフォームに再バインドできます。

  1. Container Registry コンソール にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。

  3. 左側のナビゲーションウィンドウで、[インスタンス] をクリックします。

  4. [インスタンス] ページで、管理する Enterprise Edition インスタンスをクリックします。

  5. Container Registry Enterprise Edition インスタンスの管理ページの左側のナビゲーションウィンドウで、[リポジトリ] > [リポジトリ] を選択します。

  6. [リポジトリ] ページで、作成したイメージリポジトリを見つけ、[アクション] 列の [管理] をクリックします。

  7. 左側のナビゲーションウィンドウで、[ビルド] をクリックします。[ビルドルール] セクションで、[ビルドルールの追加] をクリックします。「ビルドルールの追加」ウィザードの [ビルド情報] ステップで、パラメーターを構成し、[次へ] をクリックします。次の表に、パラメーターを示します。

    パラメーター

    説明

    [タイプ]

    ソースコードリポジトリのタイプを指定します。有効な値:ブランチとタグ。

    [ブランチ/タグ]

    ブランチまたはタグを選択または入力します。正規表現がサポートされています。release-(?<imageTag>\w*) 正規表現を指定すると、release-v1 ブランチのソースコードが更新されたときに、システムは自動的に V1 のイメージをビルドします。イメージを手動でビルドすることはできません。正規表現の指定方法の詳細については、「名前付きキャプチャグループで正規表現を使用する」をご参照ください。

    説明

    正規表現を指定した後、イメージはシステムによってのみビルドできます。イメージを手動でビルドすることはできません。

    [ビルドコンテキストディレクトリ]

    Dockerfile が存在するディレクトリを指定します。これは、ブランチまたはタグディレクトリのサブディレクトリです。たとえば、ブランチディレクトリが master/ で、Dockerfile が master/ ディレクトリにある場合、値は master/Dockerfile です。

    [Dockerfile ファイル名]

    Dockerfile の名前を指定します。デフォルト名は Dockerfile です。

  8. [タグ] ステップで、パラメーターを構成し、[保存] をクリックしてから、[次へ] をクリックします。

    説明

    [構成の追加] をクリックして、イメージタグを追加します。最大 3 つのイメージタグを追加できます。

    パラメーター

    説明

    [イメージタグ]

    イメージのタグ。例:latest。名前付きキャプチャグループを有効にすることができます。たとえば、[ブランチ/タグ] に名前付きキャプチャグループを指定した場合、キャプチャされたコンテンツを使用できます。

    [ビルド時間]

    ソースコードがプッシュされた時間 (UTC + 08:00)。例:20201015 または 202010151613。

    説明

    このパラメーターはオプションです。このパラメーターを設定すると、システムのみがイメージをビルドできます。イメージを手動でビルドすることはできません。

    [コミット ID]

    最後にプッシュされたコードのコミット ID から取得する文字数。デフォルトでは、最初の 6 文字が使用されます。スライダーを調整して文字数を変更できます。

    説明

    このパラメーターはオプションです。このパラメーターを設定すると、システムのみがイメージをビルドできます。イメージを手動でビルドすることはできません。

  9. [ビルド構成] ステップで、パラメーターを構成し、[確認] をクリックします。次の表に、パラメーターを示します。

    パラメーター

    説明

    [ビルドアーキテクチャ]

    イメージをビルドするアーキテクチャ。複数のアーキテクチャを選択できます。複数のアーキテクチャを選択すると、各イメージタグに対して、アーキテクチャ用の複数のコンテナイメージがビルドされます。

    [ビルドパラメーター]

    イメージビルドのランタイムパラメーター。各ビルドパラメーターは、大文字と小文字を区別するキーと値のペアです。最大 20 個のビルドパラメーターを構成できます。ビルドパラメーターを設定して、Dockerfile の環境変数を変更し、同じ Dockerfile を異なるステータスで表示できます。

  10. イメージビルドルールをトリガーします。

    次のいずれかの方法を使用して、イメージビルドルールをトリガーできます。

    • [ビルド] ページの [ビルドルール] セクションで、イメージビルドルールを見つけ、[アクション] 列の [ビルド] をクリックします。

    • ソースコードリポジトリの master ブランチにコードを送信して、ビルドルールをトリガーします。

    説明
    • [ビルド] ページの [ビルドログ] セクションで、トリガーされたイメージビルドタスクを見つけ、[アクション] 列の [キャンセル] をクリックして、イメージビルドタスクをキャンセルします。

    • [ビルド] ページの [ビルドログ] セクションで、トリガーされたイメージビルドタスクを見つけ、[アクション] 列の [ログ] をクリックして、イメージビルドログを表示します。

    左側のナビゲーションウィンドウで、[イメージタグ] をクリックします。作成したイメージが表示されている場合、イメージはビルドされています。

例 1:main という名前のブランチに基づいてイメージをビルドする(イメージを手動でビルドできます)

次の設定に基づいてビルドルールを構成します。

  • [タイプ]:ブランチ

  • [ブランチ/タグ]:main

  • [ビルドコンテキストディレクトリ]:/

  • [Dockerfile ファイル名]:Dockerfile

  • [イメージタグ]:latest

[ビルド] をクリックするか、main ブランチのソースコードが更新されると、システムはイメージをビルドします。main ブランチの / ディレクトリにある Dockerfile という名前のファイルを使用して、イメージがビルドされます。作成されたイメージのタグは latest です。次の図は、ビルドルールの構成を示しています。

基于main构建规则.png

例 2:正規表現に一致するブランチに基づいてイメージをビルドする(イメージを手動でビルドできません)

次の設定に基づいてビルドルールを構成します。

  • [タイプ]:ブランチ

  • [ブランチ/タグ]:release-(?<imageTag>\w*)

  • [ビルドコンテキストディレクトリ]:/

  • [Dockerfile ファイル名]:Dockerfile

  • [イメージタグ]:${imageTag}

  • [ビルド時間]:yyyyMMddHHmm

  • [コミット ID]:30

名前が release- で始まるブランチでソースコードが更新されると、システムは自動的にイメージをビルドします。ブランチの / ディレクトリにある [Dockerfile] という名前のファイルを使用して、イメージがビルドされます。

たとえば、名前が release-v1 で始まるブランチのソースコードが更新されると、release-(?<imageTag>\w*) の正規ルールは、ブランチ名で v1 をキャプチャし、v1 を imageTag 変数に送信し、イメージタグで v1 を使用します。この例では、作成されたイメージのタグは v1-202010151625-d4ef3dc3b77a011a5779eec7efdd45 です。次の図は、ビルドルールの構成を示しています。

基于正则规则构建规则.png

次のステップ

イメージがビルドされた後、次の操作を実行できます。