Docker open-sources containerd, a core container runtime
Whale shark breaching the surface image via Shutterstock
Life is beautiful when tech giants like AWS, IBM, Google, Microsoft and Alibaba promise to maintain and contribute to the development of containerd, a core container runtime. To avoid association with Docker, it is available as a standalone GitHub project.
Docker is open-sourcing containerd, a core container runtime, to make sure it receives the attention it deserves. And it appears that its trick is already working; a handful of tech giants, including Microsoft, AWS and IBM have agreed to maintain and contribute to the development of this runtime module. Containerd is available as a standalone GitHub project.
The “d” comes from daemon — containerd is “available as a daemon for Linux and Windows, which can manage the complete container lifecycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc.. It is designed to be embedded into a larger system, rather than being used directly by developers or end-users,” according to the project description.
Solomon Hykes, founder and CTO of Docker, announced in a blog post that containerd is “the latest chapter in a multi-year effort to break up the Docker platform into a more modular architecture of loosely coupled components.”
Patrick Chanezon, member of technical staff at Docker Inc., explained in a different post that this core container runtime “is a small but vital part of the platform. We started breaking out containerd from the rest of the engine in Docker 1.11, planning for this eventual release.”
Chanezon emphasized that containerd has “just the APIs currently necessary to run a container. A GRPC API is called by the Docker Engine, which triggers an execution process. That spins up a supervisor and an executor which is charged with monitoring and running containers. The container is run (i.e. executed) by runC.”
When 1.0 is released, the team plans to have a number of other features from Docker Engine as well.
Chanezon added that “this evolution of Docker plumbing will go unnoticed by end-users” since it has a CLI, ctr, designed for debugging and experimentation, and a GRPC API designed for embedding.
Right now they are at containerd version 0.2.4, so there’s a lot of work to be done. However, Alibaba, AWS, Google, IBM and Microsoft are providing contributors to help develop containerd.
Containerd — The next step in the evolution of the container ecosystem
Phil Estes, Senior Technical Leader for IBM’s Open Cloud Technologies, revealed in a blog post that “IBM is fully on board with the announcement, supporting the expansion of the current containerd project and committing maintainer and contributor support for this project.”
He opined that this is the correct move because “having a stable, well-tested, and well-supported ‘boring’ runtime that can be embedded by all players leaves the differentiation at the higher layers while providing a solid underpinning for each. There can be no question whether its design, timelines, or roadmap benefits a single player, as it will provide the same benefits to all consumers.” Plus, putting containerd under open governance “allows the development and support of the engine in neutral hands under a strong set of community-focused maintainers.”
…nice to see Docker do this, definitely in the right direction… and I know a good foundation home for it :)
— Chris Aniszczyk (@cra) December 14, 2016
Docker will donate containerd to a neutral foundation in early 2017.