The history of modern containers is long and complicated, going back to the days of the mainframe and then through technologies like Solaris Zones to Linux’s adoption of cgroups as a foundation of its OS-level virtualization features. Those Linux Containers (LXC) were a key part of the early Docker platform, providing an isolated userspace to host and run Docker containers.
As containers continued to evolve, Docker developed its own runtime environment, which was adopted by many open source microservice platforms such as Kubernetes. That has led to Docker being the most common way to build, package, and deploy containers. However, it also caused early versions of Kubernetes to support multiple container runtime interfaces, allowing you to deploy containers using different runtimes in the same application.
Kubernetes’ move to using OCI and Dockershim
Over time both Docker and Kubernetes have evolved. Docker’s container image format was adopted as the…
Continue reading on source link