マネージド ベースイメージ

このページでは、Google が管理するベースコンテナ イメージの概要について説明します。

ベースイメージとは

ほとんどのコンテナベースの開発は、ベースイメージの上に始まり、アプリケーションの実行に必要なライブラリ、バイナリ、構成ファイルの上にレイヤが続きます。ベースイメージは、ほとんどのコンテナベースの開発ワークフローの出発点となります。

ほとんどのベースイメージは、基本的または最小限の Linux ディストリビューションです(Debian、Ubuntu、Redhat、Centos、Alpine など)デベロッパーは通常、これらのイメージを Docker Hub や他のソースから直接使用します。お客様のニーズに合わせてソフトウェアを重ねていく、公式のプロバイダと、その他の多種多様なダウンストリーム・リパッケージ業者があります。

Google では、ベースイメージ用に次の 2 つのソリューションを提供しています。

  • Google では、独自のアプリケーションを構築するためのベースイメージを管理しています。これらのイメージは、Google Cloud Marketplace で入手できます。

  • Google では安全なイメージ パイプラインを提供しています。このパイプラインはオープンソースのツールで、独自の安全なベースイメージを生成、維持できます。これらのイメージは、Google Cloud プロジェクトから使用できます。

Google 提供のベースイメージ

Google が提供するベースイメージは、次の OS ディストリビューションで利用できます。

OS ソース リポジトリのパス Google Cloud Marketplace リスティング
CentOS 7 GitHub marketplace.gcr.io/google/centos7 Google Cloud Marketplace
CentOS 8 GitHub marketplace.gcr.io/google/centos8 Google Cloud Marketplace
Debian 9 "Stretch" GitHub marketplace.gcr.io/google/debian9 Google Cloud Marketplace
Debian 10 "Buster" GitHub marketplace.gcr.io/google/debian10 Google Cloud Marketplace
Debian 11「BullsEye」 GitHub marketplace.gcr.io/google/debian11 Google Cloud Marketplace
Ubuntu 18.04 GitHub marketplace.gcr.io/google/ubuntu1804 Google Cloud Marketplace
Ubuntu 20.04 GitHub marketplace.gcr.io/google/ubuntu2004 Google Cloud Marketplace

マネージド ベースイメージに適用されるライセンスの詳細については、ライセンス ファイルをご覧ください。

Google が管理するベースイメージには次のような利点があります。

既知の脆弱性をスキャン

CVE データベースに登録されている既知の脆弱性を定期的にスキャンしています。

このスキャンでは、Artifact Registry 脆弱性スキャンと同じ機能が使用されます。検出された脆弱性に対するパッチが利用可能になると、そのパッチが Google によって適用されます。

再現性のあるビルド

再現性があり、ソースコードからバイナリまで検証可能なパスがあります。

イメージを GitHub のソースと比較して検証することで、ビルドに欠陥がないことを確認できます。

Google Cloud に保存

Google Cloud 上にイメージが保管されるため、ネットワークを走査せずに、ご使用の環境から直接 pull できます。

安全なイメージ パイプライン

すぐに使えるベースイメージはすべて、お客様がその中身を監査することができませんソース、ビルドとテストのプロセス、イメージを処理する方法は表示されません。多くの場合、不正な行為者がベースイメージの下流に悪意のあるソフトウェアを追加します。ユーザーが公開リポジトリからベースイメージを使用すると、アプリケーション環境のルートでソフトウェア サプライ チェーンが制御されなくなります。

そのため、お客様が実行しているすべてのソフトウェアと実行中の環境を監査する必要があるコンプライアンス要件がある場合は、社内で何かを構築する必要があります。そのためには、ビルドとメンテナンスが必要になります。

セキュア イメージ パイプラインを使用すると、独自の安全なベースイメージを生成して、維持できます。生成されたベースイメージは、Google Cloud プロジェクトから使用できます。

次の OS ディストリビューションにベースイメージを生成できます。

  • Debian
  • Ubuntu
  • CentOS
  • Alpine

安全なイメージ パイプラインを設定する手順については、安全なイメージ パイプラインを作成するをご覧ください。

代替オプション

マネージド ベースイメージが適していない場合は、mirror.gcr.io に保存されている、リクエストされる頻度が高い Docker Hub イメージ * のキャッシュ イメージを使用できます。キャッシュされたイメージを使用するように Docker デーモンを構成すると、Docker Hub から直接 pull する前に、Docker Hub イメージのキャッシュ コピーが常にクライアントで確認されます。

キャッシュされたイメージを pull する方法について確認する。

ソフトウェア サプライ チェーンを保護する他の方法(イメージの検証など)については、Google Kubernetes Engine でのソフトウェア サプライ チェーンの保護をご覧ください。

次のステップ