Need help with image-service?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

dragonflyoss
218 Stars 36 Forks Apache License 2.0 793 Commits 4 Opened issues

Description

Dragonfly image service, providing fast, secure and easy access to container images.

Services available

!
?

Need anything else?

Contributors list

Nydus: Dragonfly Container Image Service

The nydus project implements a user space filesystem on top of a container image format that improves over the current OCI image specification, in terms of container launching speed, image space, and network bandwidth efficiency, as well as data integrity.

The following benchmarking result shows the performance improvement compared with the OCI image for the container cold startup elapsed time on containerd. As the OCI image size increases, the container startup time of using Nydus image remains very short.

Container Cold Startup

Nydus' key features include:

  • Container images are downloaded on demand
  • Chunk level data deduplication
  • Flatten image metadata and data to remove all intermediate layers
  • Only usable image data is saved when building a container image
  • Only usable image data is downloaded when running a container
  • End-to-end image data integrity
  • Compatible with the OCI artifacts spec and distribution spec
  • Integrated with existing CNCF project Dragonfly to support image distribution in large clusters
  • Different container image storage backends are supported

Currently the repository includes following tools:

  • A
    nydusify
    tool to convert an OCI format container image into a nydus format container image
  • A
    containerd-nydus-grpc
    daemon to serve as containerd remote snapshotter and setup container rootfs with nydus
  • A
    nydus-image
    tool to convert an unpacked container image into a nydus format image
  • A
    nydusd
    daemon to parse a nydus format image and expose a FUSE mountpoint for containers to access

Build Binary

# build debug binary
make
# build release binary
make release
# build static binary with docker
make docker-static

Build Nydus Image

Build Nydus image from directory source: Nydus Image Builder.

Convert OCI image to Nydus image: Nydusify.

Build Nydus Snapshotter

Build and run Nydus snapshotter: Nydus Snapshotter

Run Nydusd Daemon

Run Nydusd Daemon to serve Nydus image: Nydusd.

Docker graph driver support

Docker graph driver is also accompanied, it helps to start container from nydus image. For more particular instructions, please refer to

Learn Concepts and Commands

Browse the documentation to learn more. Here are some topics you may be interested in:

Community

Welcome to share your use cases and contribute to Nydus project. You can reach the community via Dingtalk and Slack

Any bug report, feature requirement, and technique discussion and cooperation are welcomed and expected!

  • Slack

Join our Slack workspace

  • Dingtalk

Join nydus-devel group by clicking URL from your phone.

You can also search our talking group by number 34971767 and QR code

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.