Skip to content

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

License

Notifications You must be signed in to change notification settings

cloudaice/image-service

 
 

Repository files navigation

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. Its 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.

Learn Concepts and Commands

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

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 73.1%
  • Go 25.7%
  • Other 1.2%