Container のイメージ形式

Container Registry では、次のコンテナ イメージ形式がサポートされています。

Docker V2

Docker V2 イメージ マニフェストは、マルチアーキテクチャ イメージを可能にするコンテナ イメージの仕様で、コンテンツのアドレス指定が可能なイメージに対応しています。

Docker V2 イメージは、非推奨の Docker V1 イメージより優先されます。

マニフェスト リスト

マニフェスト リストは、Docker V2、スキーマ 2 および OCI イメージの一部です。

マニフェスト リストを使用すると、1 つのダイジェストまたはタグで複数の形式のイメージを表すことができます。

OCI 形式

OCI 形式は、Docker イメージ マニフェスト バージョン 2、スキーマ 2 形式をベースにするコンテナ イメージの仕様です。Container Registry は、OCI イメージの push と pull をサポートしています。

イメージ インデックス

イメージ インデックスは、OCI イメージのマニフェスト リストと同じです。

マニフェスト リストと同様に、イメージ インデックス マニフェストは、複数のイメージ マニフェストを参照します。イメージ インデックスは、マルチプラットフォーム イメージに役立ちます。

Docker V1 イメージ形式の非推奨

2017 年 2 月 28 日現在、Docker V1 仕様は Docker V2 のレジストリ仕様に切り替わっています。Docker V1 仕様は非推奨になり、Container Registry で Docker V1 イメージを使用することはできません。

Docker V2 では Docker イメージ形式に一連の変更を施し、コンテンツをアドレス指定できるイメージを使用できるようにしたため、イメージ層のトラッキングが容易になりました。Docker V2 イメージ マニフェストにはイメージ層のすべてのコンテンツ アドレス(「ダイジェスト」)が含まれますが、Docker V1 イメージには含まれていません。

詳細については、非推奨の予告をご覧ください。

Docker V1 イメージから Docker V2 イメージへのアップグレード

V1 イメージを V2 イメージにアップグレードするには、Docker v1.6 以上がインストールされていることを確認します。次に、以下のコマンドを実行してイメージを pull してから再度 Container Registry に push します。

docker pull gcr.io/[your-project-id]/[image]:[tag]
docker push gcr.io/[your-project-id]/[image]:[tag]