Skip to Content
Cluster Component ManagementContainerdDocker VS Containerd

Docker VS Containerd

In UK8S, when creating a Kubernetes cluster with version V1.19 or later, the container engine is defaulted to Containerd, while clusters with Kubernetes versions earlier than 1.19 use Docker. These two container engines each have their own command-line tools for managing images and containers.

In order to allow UK8S clusters lower than 1.19 to be upgraded to 1.19+, UK8S also launched container runtime upgrade function to help customers upgrade smoothly.

Note: Nodes using the containerd runtime invoke CNI network plugins through containerd for Pod IP allocation. Installing Docker separately will overwrite containerd’s configuration files, leading to failed Pod IP allocation. Therefore, do not install Docker manually to avoid node unavailability.

Comparison of Docker and Containerd Commands

Image Management Command Comparison

Image Related FunctionsDockerContainerd
Show Local Image Listdocker imagescrictl images
Download Imagedocker pullcrictl pull
Upload Imagedocker pushNone
Delete Local Imagedocker rmicrictl rmi
View Image Detailsdocker inspect IMAGE-IDcrictl inspecti IMAGE-ID

Container Management Command Comparison

Container-Related FunctionsDockerContainerd
Display Container Listdocker pscrictl ps
Create Containerdocker createcrictl create
Start Containerdocker startcrictl start
Stop Containerdocker stopcrictl stop
Remove Containerdocker rmcrictl rm
View Container Detailsdocker inspectcrictl inspect
attachdocker attachcrictl attach
execdocker execcrictl exec
logsdocker logscrictl logs
statsdocker statscrictl stats

Pod Command Comparison

POD Related FunctionsDockerContainerd
Display POD ListNonecrictl pods
View POD DetailsNonecrictl inspectp
Run PODNonecrictl runp
Stop PODNonecrictl stopp

Container Runtime Upgrade

On the Plugins page of the console’s cluster management interface, select the “Container Runtime” tab (this tab is currently only visible for clusters upgraded from older versions to 1.19 or higher). From here, you can upgrade the container runtime for existing nodes that were part of the cluster before the upgrade. New nodes added after the cluster upgrade will use the containerd runtime by default.

The runtime upgrade will be performed sequentially, starting with all Master nodes followed by Node nodes. During the upgrade, each node will be taken out of service, and the Pods running on it will be evicted to other nodes, which may affect business operations. It is recommended to ensure that the cluster has sufficient resources and to perform this operation during periods of low business activity.