Project

Profile

Help

Story #3401

Updated by bizhang over 6 years ago

Manifest    should contain the following fields: 

 * digest: CharField(255) 
 * schema_version: IntegerField() 
 * config_blob: config_layer: ForeignKey to Blob Layer 
 * blobs: ManyToManyField('Blob', through='ManifestBlob') layers: ManyToManyField('Layer', through='ManifestLayer') 
 * mediaType: ChoiceField() (application/vnd.docker.distribution.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json) 


 ManifestBlob ManifestLayer is used to model the relationship between Manifests and Blobs Layer 

 * blob: layer: ForeignKey to Blob Layer 
 * manifest: ForeignKey to Manifest 
 * mediaType: ChoiceField()  
 * size: IntegerField() 


 MediaType Choice for the ManifestBlob: ManifestLayer: 

 * application/vnd.docker.container.image.v1+json Container config json represented as a blob layer 
 * application/vnd.docker.image.rootfs.diff.tar.gzip Regular blob layer 
 * application/vnd.docker.image.rootfs.foreign.diff.tar.gzip Foreign blob layer ( we do not intend to store foreign blobs. layers. Docker client during pull will fetch it from the remote location) 

Back