rkt/rkt

store: using native content addresses for docker image layers

Open

#2,313 opened on 2016年3月21日

GitHub で見る
 (9 comments) (0 reactions) (0 assignees)Go (8,871 stars) (865 forks)batch import
area/performancearea/securityarea/usabilitycomponent/stage0component/storehelp wantedkind/enhancementpriority/P1

説明

Today to pull and store docker images we use docker2aci which flattens a docker image into a single ACI image and then places it into the rkt store. This made sense when we started working on Docker integration at the time because Docker images did not have a content-addressable ID. Today, Docker images do have a CAS address so we should consider storing each layer in our own store using that address.

This will have a few advantages:

  1. We can take advantage of cache hits when someone tries to download an image with a content-address we already have
  2. We can avoid the costly content conversion of taking all of the layers and flattening the image
  3. A user could reference or run a docker image by its CAS id.

Now, there are a number of things to sort out such as:

コントリビューターガイド