-
Notifications
You must be signed in to change notification settings - Fork 18.9k
Containerd image and snapshot backend integration #38738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
537f342 to
481414a
Compare
|
Is this planned to be merged before Docker v19.03? |
That is desirable but unrealistic. I want to complete as many or all of the major things by that time frame, but until all the functionality is complete it is too hard to pin down an exact date for "stable enough to merge". It is very important we get the design parts mentioned in "highlights" correct so we aren't in a position where we need to correct storage code later (adding more support permutations and instability). Please comment on the design and help wherever possible will certainly help stabilize this change. |
daemon/images/image.go
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: mobyproject.org? docker.com?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If these can conflict with user-provided labels; reverse-dns notation was originally marked as reserved; https://docs.docker.com/config/labels-custom-metadata/#key-format-recommendations
The
com.docker.*,io.docker.*, andorg.dockerproject.*namespaces are reserved by Docker for internal use.
51c412f to
fe0d284
Compare
|
Pushed a rebase. |
3018ba4 to
a2ee367
Compare
ee7d1b3 to
1888615
Compare
1888615 to
b7480ac
Compare
b7db406 to
f3dacb4
Compare
f3dacb4 to
9d443a0
Compare
|
Please sign your commits following these rules: $ git clone -b "containerd-integration" [email protected]:dmcgowan/docker.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842359062744
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -fAmending updates the existing PR. You DO NOT need to open a new one. |
40c58f3 to
2c2bc28
Compare
fix already exists error during image tagging Signed-off-by: Anda Xu <[email protected]>
Remove image store instantiation from image service Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Derek McGowan <[email protected]>
Move logic to image service and merge with cache loading. Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Derek McGowan <[email protected]>
Replace use of image id with descriptor Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Derek McGowan <[email protected]>
Update load to use full image name annotation Signed-off-by: Derek McGowan <[email protected]>
Prevent panics on unimplemented code and remove unnecessary lookups on commit. Signed-off-by: Derek McGowan <[email protected]>
Signed-off-by: Derek McGowan <[email protected]>
2bb3716 to
30fb3cb
Compare
Signed-off-by: Derek McGowan <[email protected]>
|
Any news about this? It's pretty important for local development with buildx avoiding problems like docker/buildx#59. |
|
Also interested to see if this has made any progress recently! :) |
|
@dmcgowan do you plan to continue developing this? |
|
so, after so many years of back-and-forth with this trivial patch, docker is still not OCI compliant? Details$ docker load < some-oci-image.tar
open /var/lib/docker/tmp/docker-import-xxxxxxxxxx/blobs/json: no such file or directory
$ id=$(docker import some-oci-image.tar)
$ docker run $id
docker: Error response from daemon: No command specified.with podman, this just works as expected $ id=$(podman load < some-oci-image.tar)
$ podman run $id
hello worldimage layout |
|
There's definitely nothing trivial about this patch? 😕
This isn't just about support for loading OCI image bundles, but rather switching the image management backend over to containerd, which is a very complicated transition. |
|
oh, i see. im still surprised, cos |
|
I don't think you're wrong, but this is not the right place to discuss it 😅 (A new PR would be very interesting 👀) Edit: specifically, the appropriate issue appears to be #25779 🙈 |
|
Any progress on this? Storing the images twice is such a waste. |
|
This would be great to see, especially now with Apple Silicon creating a barrier to entry for people trying to run amd64 containers in the cloud but arm64 locally on their machines. |
|
I'm going to close this one since I don't want anyone to get the impression I am still working on it. The branches live on in my fork if anyone wants to play around with it. Reaching full behavior parity and just keeping this branch updated is non-trivial. |
I'm not sure how come it's not the right place to discuss it? |
Opening this up as a draft as there are many things left to do before this is mergeable.
Highlights
Major things left to do
Implements #38043
Does not include, both snapshotters and graphdriver interfaces will be supported in this PR
Closes #26146
Closes #38043
Closes #33355
Closes docker/cli#122