このトピックでは、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インスタンスを作成したら、ソースコードリポジトリをインスタンスにバインドします。
コードが変更されたときにイメージを自動的にビルドする
コードが変更されたときにイメージを自動的にビルドするをオンにすると、コードをコミットするたびにイメージが自動的にビルドされます。 これにより、手動作業負荷が軽減されます。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のメニュで、インスタンスをクリックします。
[インスタンス] ページで、管理するPersonal Editionインスタンスをクリックします。
Personal Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、
を選択します。[リポジトリ] ページで、管理するリポジトリを見つけ、[操作] 列の [管理] をクリックします。
左側のナビゲーションウィンドウで、[ビルド] をクリックします。 表示されるページで、[コードが変更されたときにイメージを自動的に作成] をオンにします。
中国本土以外のサーバーでイメージをビルドする
イメージ構築に使用されるソースコードは、中国本土外のソースコードリポジトリに格納されてもよい。 Container Registryには、中国本土外に配置されたサーバーを使用したビルド機能があり、中国本土外のリポジトリからイメージをビルドするのに役立ちます。 イメージが中国本土以外のサーバー上に構築されると、イメージは指定されたリージョンのリポジトリにプッシュされます。
説明クロスボーダーネットワーク接続が不安定な場合、画像プッシュはタイムアウトすることがあります。
キャッシュを使用せずにイメージを構築する
[キャッシュなしのビルド] をオンにすると、イメージをビルドするたびに、Container Registryがソースコードリポジトリからベースイメージを取得します。 これにより、構築プロセスが遅くなる可能性があります。 スイッチをオフにすることをお勧めします。
マルチステージビル
Container Registryは多段階の建物をサポートしています。
ステップ1: ソースコードリポジトリのバインド
ソースコードリポジトリをContainer Registry Personal Editionインスタンスにバインドする必要があります。 この例では、GitHubリポジトリが使用されています。
オンプレミスのコードリポジトリからイメージをビルドすることはできません。
VPCでプライベートGitLabコードリポジトリをバインドする方法の詳細については、「VPCでのコンテナーイメージの構築」をご参照ください。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のメニュで、インスタンスをクリックします。
[インスタンス] ページで、管理するPersonal Editionインスタンスをクリックします。
Container Registry Private Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、
を選択します。[コードソース] ページで、GitHubを見つけ、[操作] 列の [アカウントのバインド] をクリックします。
[GitHub] ダイアログボックスで、[ソースコードリポジトリに移動してアカウントをバインドする] をクリックします。
GitHubログインページで、ユーザー名とパスワードを入力し、[サインイン] をクリックします。
Container Registryコンソールにリダイレクトされると、次のメッセージが表示されます。GitHubアカウントのバインドに成功しました。
ステップ2: イメージリポジトリの作成
イメージリポジトリを作成する前に、指定されたリージョンに名前空間が作成されていることを確認してください。 詳細については、「名前空間の管理」をご参照ください。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のメニュで、インスタンスをクリックします。
[インスタンス] ページで、管理するPersonal Editionインスタンスをクリックします。
Personal Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、
を選択します。[リポジトリ] ページで、[リポジトリの作成] をクリックします。
[リポジトリ情報] ステップで、[名前空間] 、[リポジトリ名] 、[リポジトリタイプ] 、および [概要] を設定します。 この例では、リポジトリの種類に [プライベート] を選択します。 [次へ] をクリックします。
[コードソース] ステップで、[コードソース] 、[ビルド設定] 、[ビルドルール] を設定し、[リポジトリの作成] をクリックします。
パラメーター
説明
コードソース
コードソースを選択します。 この例では、GitHubが選択されています。 [GitHub] タブをクリックし、名前空間とリポジトリを選択します。
ビルド設定
コードが変更されたときにイメージを自動的にビルドする: コードがブランチからコミットされると、ビルドルールが自動的にトリガーされます。
中国本土の外部に配置されたサーバーを使用したビルド: イメージは中国本土の外部のデータセンターにビルドされ、指定されたリージョンのイメージリポジトリにプッシュされます。 イメージのビルドに使用するソースコードリポジトリやコンテナイメージリポジトリなどのリソースが中国本土にデプロイされている場合は、中国本土にデプロイされたサーバーを使用するには、[中国本土外にデプロイされたサーバーでのビルド] 機能を無効にすることをお勧めします。
キャッシュなしのビルド: イメージがビルドされるたびに、システムはソースコードリポジトリからベースイメージをプルします。 これは、建築期間を増加させ得る。 [キャッシュなしのビルド] を無効にすると、イメージの構築を高速化できます。
ステップ3: 構築ルールの設定
リポジトリ管理ページで [ビルド] が見つからない場合、コードソースをPersonal Editionインスタンスにバインドできません。 コードソースを再バインドするには、手順1を参照してください。
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のメニュで、インスタンスをクリックします。
[インスタンス] ページで、管理するPersonal Editionインスタンスをクリックします。
Personal Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、
を選択します。[リポジトリ] ページで、管理するリポジトリを見つけ、[操作] 列の [管理] をクリックします。
リポジトリ管理ページの左側のナビゲーションウィンドウで、[ビルド] をクリックします。 [ビルドルール] セクションで、[ビルドルールの追加] をクリックします。
説明構築ルールを変更する場合は、変更するルールを選択し、[操作] 列の [変更] をクリックします。
[ビルドルールの追加] ダイアログボックスで、ビルドルールを設定し、[確認] をクリックします。
パラメーター
説明
データ型
ソースコードリポジトリのタイプ。 有効な値: BranchとTag。
ブランチ /タグ
ビルドルールをトリガーするコードブランチまたはタグ。
ビルドコンテキストディレクトリ
Dockerfileのディレクトリ。 ブランチまたはタグディレクトリのサブディレクトリです。 たとえば、ブランチディレクトリがMaster /で、DockerfileがMaster /ディレクトリにある場合、このパラメーターの値はMaster/Dockerfileです。
Dockerfileファイル名
Dockerfileの名前。 デフォルト値はDockerfileです。
[タグ]
画像のタグ。 この例では、latestを指定します。
ステップ4: イメージを作成する
Container Registry コンソールにログインします。
上部のナビゲーションバーで、リージョンを選択します。
左側のメニュで、インスタンスをクリックします。
[インスタンス] ページで、管理するPersonal Editionインスタンスをクリックします。
Personal Editionインスタンスの管理ページの左側のナビゲーションウィンドウで、
を選択します。[リポジトリ] ページで、管理するリポジトリを見つけ、[操作] 列の [管理] をクリックします。
リポジトリ管理ページの左側のナビゲーションウィンドウで、[ビルド] をクリックします。
[ビルドルール] セクションで、使用するビルドルールを選択し、[操作] 列の [ビルド] をクリックします。
建物ルールが構築された後、建物レコードが生成される。
説明表示する建物レコードを選択し、[操作] 列の [ログ] をクリックして建物ログを表示します。
イメージが作成されたら、左側のナビゲーションウィンドウで [タグ] をクリックして、作成されたイメージを表示します。
すべての画像を表示するには、左側のナビゲーションウィンドウで [ビルド] をクリックします。 表示されるページの [ビルド設定] セクションで、[中国本土の外部に配置されたサーバーでのビルド] と [キャッシュなしでのビルド] をオンにして、[コードが変更されたときにイメージを自動的にビルド] の既定の有効ステータスのままにします。 次に、左側のナビゲーションウィンドウで [タグ] をクリックして、すべての画像タグを表示します。