Skip to content
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

Exporter: support nydus image export #2045

Closed
wants to merge 2 commits into from
Closed

Commits on Mar 30, 2021

  1. Exporter: support nydus image export

    Nydus image is a container accelerated image format provided by the
    Dragonfly image-service project, which offers the ability to pull image
    data on demand, without waiting for the entire image pull to complete
    and then start the container. It has been put in production usage and
    shown vast improvements over the old OCI image format in terms of container
    launching speed, image space, and network bandwidth efficiency, as well
    as data integrity. The Nydus image can also serve as an example and
    reference implementation for the on-going OCI image spec v2 discussion.
    
    Nydus has provided a conversion tool Nydusify for converting OCI image to
    Nydus image, which assumes that the OCI image is already available in the
    registry, but a better way would be to build the Nydus images directly from
    the build system instead of using the conversion tool, which would increase
    the speed of the image export, so we experimentally integrated the Nydus
    exporter in Buildkit.
    
    Nydusify provides a package to do the actual image conversion. We use the
    same package to implement the buildkit nydus exporter. The exporter mounts
    all layers and calls the package to build to a Nydus image and push it to the
    remote registry. The current implementation relies on the Nydus builder, which
    is used to build a layer to a RAFS layer, and in the future, we can explore
    simpler, less dependent integrations.
    
    Signed-off-by: Yan Song <imeoer@linux.alibaba.com>
    imeoer committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    b6b8f01 View commit details
    Browse the repository at this point in the history
  2. Add integration test for nydus exporter

    Pack the nydus-image binary into integration image, export Nydus
    image with Nydus exporter, and simply check.
    
    Signed-off-by: Yan Song <imeoer@linux.alibaba.com>
    imeoer committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    7be7dd5 View commit details
    Browse the repository at this point in the history