As we build out Docker’s infrastructure plumbing, we are committed to releasing these plumbing components as open source to help the community.

Today we’re releasing a new daemon to control runC called: containerd. It’s built for performance and density, and will eventually be built into Docker Engine.

Containerd is built on top of the Open Container Initiative’s runC and specification. Containerd is a daemon providing a GRPC API to manage containers on the local system. Containerd leverages runC to provide advanced functionality like checkpoint and restore, seccomp, and user namespace support which will open the door for these features into Docker.



Containerd is built for ops and optimized for performance. Benchmarking on my laptop, starting 1000 containers concurrently I get a rate of 126-140 containers per second utilizing my entire machine. And it is light on resource usage for monitoring containers after they have been started whether you have 1 or 2000 containers running on a single host.

We have also taken the time to correct some of the long standing issues, like zombie reaping and runtime telemetry. This lets you monitor different statistics from not only the containers but also the runtime.

We are releasing containerd in alpha, and will continue to update it as we work on making it feature complete with everything you would expect from Docker, and more. Containerd is the plumbing component that will manage containers in a future version of Docker Engine. To learn more about containerd, check out the docs directory in the repository.

Learn More about Docker