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

Container Registry:Enterprise Edition インスタンスでのイメージのビルド

最終更新日:Apr 28, 2026

Container Registry Enterprise Edition は、ソースコードからコンテナイメージを自動的にビルドするための、安全で効率的な継続的インテグレーションパイプラインを提供します。Dockerfile に基づいて構築ルールを設定することで、コードがコミットされたときにイメージを自動的にビルドし、イメージリポジトリにプッシュできます。

前提条件

  • Container Registry の Enterprise Edition インスタンスを作成済みであること。詳細については、「Enterprise Edition インスタンスの作成」をご参照ください。

  • ソースコードリポジトリに Dockerfile が含まれていること。

背景情報

コンテナイメージのビルドサービスは、以下の特徴を提供します。

  • セキュリティ:このサービスは、各ビルドタスクを分離された専用環境に割り当てます。

  • 安定性:各ビルドは専用の環境で実行されるため、同じソースコードリポジトリから複数回ビルドする場合でも、ビルド時間は安定し、一貫しています。

  • インテリジェントな高速化

    • デフォルトでは、このサービスは BuildKit を使用します。これは、多段階ビルドに非常に効果的で、幅広いビルド機能をサポートする強力なビルドツールです。

    • このサービスは、頻繁に使用されるベースイメージをキャッシュします。これにより、ビルドプロセス中にこれらのイメージをプルする必要がなくなり、ビルド時間が大幅に短縮されます。

    • このサービスは、リモートビルドキャッシュを使用してビルドプロセスを高速化します。

コンテナイメージのビルドサービスは、さまざまなコードホスティングプラットフォームとイメージ高速化機能をサポートしています。

  • コードホスティングプラットフォーム:このサービスは、以下のコードホスティングプラットフォームをサポートしています。

  • イメージの高速化:イメージの遅延読み込みを有効にできます。標準イメージをプッシュすると、システムは自動的に高速化バージョンを作成します。詳細については、「コンテナイメージの遅延読み込み」をご参照ください。

ステップ 1: コードホスティングプラットフォームの接続

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

重要

ステップ 2: 名前空間の作成

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

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

  3. 左側のナビゲーションウィンドウで、インスタンス を選択します。

  4. インスタンス ページで、対象の Enterprise Edition インスタンスをクリックします。

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

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

  7. 名前空間を作成 サイドバーで、名前空間 名、リポジトリの自動作成オン または 閉じる を設定し、OK をクリックします。

    リポジトリの自動作成オン を選択した場合は、以下の手順に従います。

    UI 要素

    説明

    リポジトリのタイプ

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

      データセキュリティを確保するために、リポジトリタイプを [非公開] に設定することを推奨します。
    • プライベート:プライベートイメージをプルするには、ユーザーは Enterprise Edition インスタンスにログインし、必要なプル権限を持っている必要があります。

    イメージバージョンは変更されません

    柔軟。 このオプションを選択すると、このリポジトリ内の latest 以外のイメージタグは上書きできなくなり、コンテナイメージタグの一貫性が確保されます。

    高速化イメージ

    機能が閉じるかどうかを指定します。 チェックボックスをオンにすると、_accelerated サフィックスが付いた高速イメージタグがリポジトリに自動的に生成されます。

ステップ 3: イメージリポジトリの作成

説明

イメージの高速化は、Standard Edition および Advanced Edition インスタンスでのみ利用可能です。Basic Edition インスタンスを Standard または Advanced Edition にアップグレードすることを推奨します。

イメージリポジトリを作成し、ソースコードリポジトリに接続します。このサービスは、接続されたソースコードリポジトリからビルドされたイメージをこのリポジトリにプッシュします。

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

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

  3. 左側のナビゲーションウィンドウで、インスタンス を選択します。

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

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

  6. [リポジトリ] ページで、[リポジトリの作成] をクリックします。
  7. リポジトリ情報 ウィザードで、名前空間リポジトリ名リポジトリのタイプイメージのバージョン高速化イメージサマリー説明 を設定し、次へ をクリックします。

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

    パラメーター

    説明

    コードソース

    コードのソースを選択します。

    ビルド設定

    • コード変更時にイメージを自動ビルド:このオプションを有効にすると、指定したブランチにコードがコミットされたときに自動的にビルドがトリガーされます。

    • 海外のソースをインテリジェントにビルド:この機能は、ビルド中に中国本土以外のソースからデータをプルするために高速化リンクを使用します。プロジェクトがコードソースとして GitHub または Bitbucket を使用している場合、または Dockerfile 内のファイルを中国本土以外のサイトからダウンロードする必要があるが、クロスボーダーネットワークが不安定な場合は、海外のソースをインテリジェントにビルド を使用できます。

    • キャッシュなしでビルド:このオプションを選択すると、ビルドごとにベースの依存関係イメージが強制的に再プルされるため、ビルド時間が増加する可能性があります。キャッシュなしでビルド を無効にすると、イメージのビルド時間を短縮できます。

    リポジトリ ページで、対象のイメージリポジトリをクリックします。左側のナビゲーションウィンドウに ビルド が表示されている場合、イメージリポジトリはソースコードリポジトリに正常に接続されています。

ステップ 4: イメージのビルド

説明

リポジトリ管理ページに ビルド が表示されない場合、ソースコードリポジトリへの接続に失敗しています。「ステップ 1」を参照して再度接続してください。

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

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

  3. 左側のナビゲーションウィンドウで、インスタンス を選択します。

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

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

  6. リポジトリ ページで、対象のリポジトリを見つけ、管理 列の 操作 をクリックします。

  7. 左側のナビゲーションウィンドウで、ビルド をクリックします。ビルドルール セクションで、ビルドルールの追加 をクリックします。ビルド情報 ステップで、パラメーターを設定し、次へ をクリックします。

    パラメーター

    説明

    タイプ

    ビルドのソースタイプを指定します。有効な値はブランチとタグです。

    ブランチ/タグ

    ブランチまたはタグを選択または入力します。正規表現がサポートされています。たとえば、正規表現が release-(?<imageTag>\w*) の場合、release-v1 ソースコードへの変更により、タグ v1 を持つイメージのビルドが自動的にトリガーされます。手動ビルドはサポートされていません。詳細については、「正規表現の名前付きキャプチャグループ」をご参照ください。

    説明

    正規表現を設定した場合、自動ビルドのみがサポートされます。手動ビルドはサポートされていません。

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

    Dockerfile を含むディレクトリへの相対パス。パスは、選択したブランチまたはタグのルートからの相対パスです。たとえば、ブランチが master で、Dockerfile が master ブランチのルートにある場合、ビルドコンテキストディレクトリは / です。

    Dockerfile ファイル名

    Dockerfile の名前。デフォルト値は Dockerfile です。

  8. イメージのバージョン ステップで、パラメーターを設定し、保存 をクリックしてから 次へ をクリックします。

    説明

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

    パラメーター

    説明

    イメージのバージョン

    イメージタグ (例:latest) を指定します。 [ブランチ/タグ] フィールドから取得した値を使用することもできます。

    ビルド時間

    コードプッシュのタイムスタンプ (UTC+8) です。 フォーマットは 20201015202010151613 の 2 種類が利用できます。

    説明

    このパラメーターはオプションです。 選択した場合、自動ビルドのみがサポートされ、手動ビルドはサポートされません。

    コミット ID

    最新のコードプッシュのコミット ID です。 デフォルトでは、先頭 6 文字が使用されます。 スライダーを調整して文字数を設定できます。

    説明

    このパラメーターはオプションです。 選択した場合、自動ビルドのみがサポートされ、手動ビルドはサポートされません。

  9. 構成をビルド ステップで、ビルドパラメーターを設定し、OK をクリックします。

    パラメーター

    説明

    アーキテクチャの構築

    ビルドアーキテクチャを選択します。並列ビルドがサポートされています。1 つのイメージタグが複数のアーキテクチャのイメージに対応できます。

    タイプをビルド

    イメージビルドのランタイムパラメーター。ビルドパラメーターは、大文字と小文字を区別するキーと値のペアで構成されます。最大 20 個のビルドパラメーターを設定できます。ビルドパラメーターを設定して Dockerfile 内の環境変数を変更することで、同じ Dockerfile から異なる出力を生成できます。

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

    ビルドルールは、次のいずれかの方法でトリガーできます。

    • ビルド ページの ビルドルール セクションで、対象のビルドルールを見つけ、操作 列の ビルド をクリックします。

    • ソースコードリポジトリの設定済みブランチにコードをコミットします。

    説明
    • ビルド ページの ビルドログ セクションで、ビルドタスクをキャンセルするには、対象のタスクを見つけ、操作 列の キャンセル をクリックします。

    • ビルド ページの ビルドログ セクションで、ビルドプロセスのログを表示するには、対象のタスクを見つけ、操作 列の ログ をクリックします。

    左側のナビゲーションウィンドウで イメージのバージョン をクリックします。ビルドされたイメージが表示されていれば、イメージのビルドは成功です。

例 1: 固定ブランチからのビルド

main という名前の固定ブランチからイメージをビルドするためのビルドルールパラメーターの例を次に示します。

  • タイプ:ブランチ

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

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

  • Dockerfile ファイル名: Dockerfile

  • イメージのバージョン: latest

main ブランチのソースコードに変更が加えられたとき、または手動で [ビルド] をクリックしたときに、イメージのビルドがトリガーされます。作業ディレクトリは / で、ビルドではこのディレクトリにある Dockerfile という名前のファイルが使用されます。生成されたイメージには latest というタグが付けられます。ビルドルールを次の図に示します。

基于main构建规则.png

例 2: 正規表現に一致するブランチからのビルド

正規表現に一致するブランチからイメージをビルドするためのビルドルールパラメーターの例を次に示します。

  • タイプ:ブランチ

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

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

  • Dockerfile ファイル名:Dockerfile

  • イメージのバージョン:${imageTag}

  • ビルド時間: yyyyMMddHHmm

  • [コミット ID]:30

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

たとえば、release-v1 ブランチのソースコードに変更があったとします。正規表現 release-(?<imageTag>\w*) は、ブランチ名から v1 をキャプチャし、それを imageTag 変数に割り当てます。サービスはこれをイメージタグとして使用します。ビルドが完了すると、結果のイメージタグは v1-202010151625-d4ef3dc3b77a011a5779eec7efdd45 になります。ビルドルールを次の図に示します。

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

関連操作

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