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

Container Registry:リポジトリの作成とイメージの構築

最終更新日:Sep 23, 2024

このトピックでは、Container Registry Personal Editionインスタンスを使用して、イメージリポジトリを作成し、構築ルールを設定し、イメージを構築する方法について説明します。

使用上の注意

説明

Personal Editionのイメージ作成のタイムアウト時間は30分に設定されています。 リポジトリの作成とイメージの構築に関する要件が高い場合、たとえば、柔軟な構成、カスタムパラメーター、マルチアーキテクチャの構築を使用する場合は、Container Registry Enterprise Editionインスタンスを使用することを推奨します。 詳細については、「Container Registry Enterprise Editionインスタンスを使用したイメージの構築」をご参照ください。

Container Registry Personal Editionインスタンスを使用してイメージを作成する前に、Dockerfileのベースイメージが次の要件を満たしていることを確認してください。

  • ベースイメージは、認可を必要としない公的にアクセス可能なインターネットイメージであり得る。

  • ベースイメージは、Container Registry Personal Editionインスタンスと同じアカウントおよびリージョンに属するプライベートインターネットイメージにすることができます。

  • ベースイメージは、Container Registry Personal Editionインスタンスとは異なるリージョンにあるプライベートイメージにすることはできません。

  • リージョンに関係なく、ベースイメージを仮想プライベートクラウド (VPC) からプルすることはできません。

  • ベース画像は、第三者によって提供される画像ではあり得ない。

たとえば、Container Registry Personal Editionインスタンスのパブリックにアクセス可能なインターネットイメージをDockerfileのベースイメージとして指定できます。 ただし、サードパーティが提供するイメージを指定することはできません。

特徴

説明

イメージをビルドするには、ソースコードリポジトリをバインドする必要があります。 Personal Editionインスタンスを作成したら、ソースコードリポジトリをインスタンスにバインドします。

  • コードが変更されたときにイメージを自動的にビルドする

    コードが変更されたときにイメージを自動的にビルドするをオンにすると、コードをコミットするたびにイメージが自動的にビルドされます。 これにより、手動作業負荷が軽減されます。

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

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

    3. 左側のメニュで、インスタンスをクリックします。

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

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

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

    7. 左側のナビゲーションウィンドウで、[ビルド] をクリックします。 表示されるページで、[コードが変更されたときにイメージを自動的に作成] をオンにします。

    代码变更时自动构建镜像

  • 中国本土以外のサーバーでイメージをビルドする

    イメージ構築に使用されるソースコードは、中国本土外のソースコードリポジトリに格納されてもよい。 Container Registryには、中国本土外に配置されたサーバーを使用したビルド機能があり、中国本土外のリポジトリからイメージをビルドするのに役立ちます。 イメージが中国本土以外のサーバー上に構築されると、イメージは指定されたリージョンのリポジトリにプッシュされます。

    説明

    クロスボーダーネットワーク接続が不安定な場合、画像プッシュはタイムアウトすることがあります。

    海外构建

  • キャッシュを使用せずにイメージを構築する

    [キャッシュなしのビルド] をオンにすると、イメージをビルドするたびに、Container Registryがソースコードリポジトリからベースイメージを取得します。 これにより、構築プロセスが遅くなる可能性があります。 スイッチをオフにすることをお勧めします。

  • マルチステージビル

    Container Registryは多段階の建物をサポートしています。

ステップ1: ソースコードリポジトリのバインド

ソースコードリポジトリをContainer Registry Personal Editionインスタンスにバインドする必要があります。 この例では、GitHubリポジトリが使用されています。

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

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

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

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

  3. 左側のメニュで、インスタンスをクリックします。

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

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

  6. [コードソース] ページで、GitHubを見つけ、[操作] 列の [アカウントのバインド] をクリックします。

  7. [GitHub] ダイアログボックスで、[ソースコードリポジトリに移動してアカウントをバインドする] をクリックします。

  8. GitHubログインページで、ユーザー名とパスワードを入力し、[サインイン] をクリックします。

    Container Registryコンソールにリダイレクトされると、次のメッセージが表示されます。GitHubアカウントのバインドに成功しました。

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

イメージリポジトリを作成する前に、指定されたリージョンに名前空間が作成されていることを確認してください。 詳細については、「名前空間の管理」をご参照ください。

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

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

  3. 左側のメニュで、インスタンスをクリックします。

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

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

  6. [リポジトリ] ページで、[リポジトリの作成] をクリックします。

  7. [リポジトリ情報] ステップで、[名前空間][リポジトリ名][リポジトリタイプ] 、および [概要] を設定します。 この例では、リポジトリの種類に [プライベート] を選択します。 [次へ] をクリックします。

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

    パラメーター

    説明

    コードソース

    コードソースを選択します。 この例では、GitHubが選択されています。 [GitHub] タブをクリックし、名前空間とリポジトリを選択します。

    ビルド設定

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

    • 中国本土の外部に配置されたサーバーを使用したビルド: イメージは中国本土の外部のデータセンターにビルドされ、指定されたリージョンのイメージリポジトリにプッシュされます。 イメージのビルドに使用するソースコードリポジトリやコンテナイメージリポジトリなどのリソースが中国本土にデプロイされている場合は、中国本土にデプロイされたサーバーを使用するには、[中国本土外にデプロイされたサーバーでのビルド] 機能を無効にすることをお勧めします。

    • キャッシュなしのビルド: イメージがビルドされるたびに、システムはソースコードリポジトリからベースイメージをプルします。 これは、建築期間を増加させ得る。 [キャッシュなしのビルド] を無効にすると、イメージの構築を高速化できます。

ステップ3: 構築ルールの設定

説明

リポジトリ管理ページで [ビルド] が見つからない場合、コードソースをPersonal Editionインスタンスにバインドできません。 コードソースを再バインドするには、手順1を参照してください。

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

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

  3. 左側のメニュで、インスタンスをクリックします。

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

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

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

  7. リポジトリ管理ページの左側のナビゲーションウィンドウで、[ビルド] をクリックします。 [ビルドルール] セクションで、[ビルドルールの追加] をクリックします。

    説明

    構築ルールを変更する場合は、変更するルールを選択し、[操作] 列の [変更] をクリックします。

  8. [ビルドルールの追加] ダイアログボックスで、ビルドルールを設定し、[確認] をクリックします。构建个人版

    パラメーター

    説明

    データ型

    ソースコードリポジトリのタイプ。 有効な値: BranchとTag。

    ブランチ /タグ

    ビルドルールをトリガーするコードブランチまたはタグ。

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

    Dockerfileのディレクトリ。 ブランチまたはタグディレクトリのサブディレクトリです。 たとえば、ブランチディレクトリがMaster /で、DockerfileがMaster /ディレクトリにある場合、このパラメーターの値はMaster/Dockerfileです。

    Dockerfileファイル名

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

    [タグ]

    画像のタグ。 この例では、latestを指定します。

ステップ4: イメージを作成する

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

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

  3. 左側のメニュで、インスタンスをクリックします。

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

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

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

  7. リポジトリ管理ページの左側のナビゲーションウィンドウで、[ビルド] をクリックします。

  8. [ビルドルール] セクションで、使用するビルドルールを選択し、[操作] 列の [ビルド] をクリックします。

    建物ルールが構築された後、建物レコードが生成される。

    説明

    表示する建物レコードを選択し、[操作] 列の [ログ] をクリックして建物ログを表示します。

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

  10. すべての画像を表示するには、左側のナビゲーションウィンドウで [ビルド] をクリックします。 表示されるページの [ビルド設定] セクションで、[中国本土の外部に配置されたサーバーでのビルド][キャッシュなしでのビルド] をオンにして、[コードが変更されたときにイメージを自動的にビルド] の既定の有効ステータスのままにします。 次に、左側のナビゲーションウィンドウで [タグ] をクリックして、すべての画像タグを表示します。

次のステップ