Container のイメージ形式

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

Docker V2

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

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

マニフェスト リスト

マニフェスト リストは、Docker V2、Schema 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]