Introduction to docker, containerd, and k8s related systems

1. Brief analysis of various terms

1. OCI (Open Container Initiative)

OCI was established in June 2015 by Docker and other leaders in the container industry. It currently contains three specifications: runtime specification (runtime-spec), image specification (image-spec) and distribution specification (distribution-spec). The runtime-spec outlines how to run a "filesystem bundle" that is decompressed on disk. At a high level, the OCI implementation can complete image management, including downloading the OCI image and then decompressing the image file into the OCI Runtime filesystem bundle (OCI Runtime filesystem bundle). The OCI runtime is able to run the bundle.

2. Container Runtime is a specific implementation of the three major OCI specifications.

High-level implementation: docker, containerd, CRI-O
low-level implementation; runc, but runc provides all the low-level functions for the container, interacts with existing low-level Linux functions, such as namespaces and control groups, and it uses these functions to create and run container processes.

3、dockershim

Docker appeared before k8s. We all know that the kubelet component in k8s needs to specify a container runtime. Because docker was a well-known container runtime at that time, docker was chosen as the container runtime, but what about kubelet?

Guess you like

Origin blog.csdn.net/qq_41768644/article/details/132125587