Containers have had uncanny abilities to build, manage, and distribute changes as part of the container’s filesystems through the use of layers and graphdrivers. A critical part of the magic making people’s experience with containers delightful, this is considered a necessity in any container-based system. The complexity and integration of graphdrivers makes working with them directly cumbersome and error prone.
containerd departs from this and introduces a new abstraction, known as “snapshotters”. Mounting a container’s filesystem, direct manipulation, arbitrary diffing, and native copying, previously a challenge, are all now possible with minimal effort. In this talk, we’ll cover the evolution of Docker’s graphdrivers to containerd snapshotters, demonstrating the wonderful properties of snapshotters in the process.