nydus
nydus copied to clipboard
Full docker support
Docker is still used by lots of users and the amount of such use cases is not negligible, so it's important for nydus to have a decent support for docker use cases.
The key is to provide two images but one data at the same time,
- one has only a targz layer of the metadata file " bootstrap", lets call it "foobar.slim",
- the other is a standard nydus image, which has both the metadata file "bootstrap" and the data files "blobs", lets call it "foobar.standard".

Docker should use "foobar.slim" and nydus docker graphdriver will then do the lazy loading stuff.

We are able to get it easily by either the multiple manifest/platform solution and or two images straightforward.
Possible changes include:
- nydusify/buildkit should support generating multiple manifest/platform or two images at a time.
- nydus-docker-graphdriver should be updated to use the latest nydus (at least master branch)
@changweige Hi, Changwei, could you take a look at this issues when you have time?
@changweige Hi, Changwei, could you take a look at this issues when you have time?
The design looks good to me. My only concern is that Docker is adopting Containerd snapshotter mechanism. Is it a strong need for users to use the docker graph driver?
We can track the progress of docker and snapshotter integration, however there are still many users deploying the earlier docker engine.
@changweige Hi, Changwei, could you take a look at this issues when you have time?
The design looks good to me. My only concern is that Docker is adopting Containerd snapshotter mechanism. Is it a strong need for users to use the docker graph driver?
Yes, many users report that they are still using dockerd to start containers. For them, the concepts related to containerd are still relatively vague, and the migration cost will be relatively high.
In addition, after the Moby(Dockerd) community integrates containerd, the release of the docker version is still relatively far away, and users are unlikely to migrate to the latest version immediately.
Tao Hong is working on this issue. @taoohong
Let's try use containerd snapshotter in latest docker release.