-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
Containerd image and snapshot backend integration #38738
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
const ( | ||
// LabelImageID refers to the image ID used by Docker | ||
// Deprecate this to support multi-arch images | ||
LabelImageID = "docker.io/image.id" |
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" git@github.com: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 -f Amending updates the existing PR. You DO NOT need to open a new one. |
fix already exists error during image tagging Signed-off-by: Anda Xu <axu@knox.edu>
Remove image store instantiation from image service Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Move logic to image service and merge with cache loading. Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Replace use of image id with descriptor Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Update load to use full image name annotation Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Prevent panics on unimplemented code and remove unnecessary lookups on commit. Signed-off-by: Derek McGowan <derek@mcgstyle.net>
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
2bb3716
to
30fb3cb
Compare
Signed-off-by: Derek McGowan <derek@mcgstyle.net>
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? $ 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 world image 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