How to install and configure Docker CRI for Kubernetes on Linux?
First published: Friday, June 13, 2025 | Last updated: Friday, June 13, 2025Discover straightforward methods to install and configure Docker CRI for Kubernetes on Linux-based systems, allowing integration between the Docker engine and the Kubernetes agent.
What is Docker CRI?
The Docker CRI is an adapter that allows you to control the Docker engine through the CRI (Container Runtime Interface) in Kubernetes. The CRI serves as a coupling between the Kubernetes agent and container runtimes such as Containerd, Docker, Mirantis, and CRI-O.
Install Docker CRI
This knowledge base article outlines the installation process of Docker CRI for Kubernetes. It is recommended to use a package manager for installing Docker CRI on Linux-based operating systems. However, in some cases, you may need to download the installation archive manually. After completing the installation, it is crucial to verify that Docker CRI is running as a system service to ensure the installation is successful. For a detailed and comprehensive guide, we recommend referring to the official Docker CRI documentation.
Linux (RPM)
You can use the following commands to install Docker CRI in RPM-based Linux operating systems such as CentOS Linux, Red Hat Linux, Fedora Linux, Amazon Linux, Alma Linux, Rocky Linux, etc., or any other similar equivalents.
AMD64 / X86-64 / X64
# Download Cgroup library.
$ wget https://repo.almalinux.org/almalinux/8/BaseOS/x86_64/os/Packages/libcgroup-0.41-19.el8.x86_64.rpm -P /tmp
# Install Cgroup library.
$ sudo yum install /tmp/libcgroup-0.41-19.el8.x86_64.rpm
# Download Docker CRI.
$ wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.14/cri-dockerd-0.3.14-3.el8.x86_64.rpm -P /tmp
# Install Docker CRI.
$ sudo yum install /tmp/cri-dockerd-0.3.14-3.el8.x86_64.rpm
# Check Docker CRI version.
$ cri-dockerd --version
# Start Docker CRI service.
$ sudo systemctl start cri-docker.service
# Check status of Docker CRI service.
$ sudo systemctl status cri-docker.service
# Enable Docker CRI service at boot.
$ sudo systemctl enable cri-docker.service
ARM64
# Download Cgroup library.
$ wget https://repo.almalinux.org/almalinux/8/BaseOS/aarch64/os/Packages/libcgroup-0.41-19.el8.aarch64.rpm -P /tmp
# Install Cgroup library.
$ sudo yum install /tmp/libcgroup-0.41-19.el8.aarch64.rpm
# Download Docker CRI.
$ wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.4.0/cri-dockerd-0.4.0.arm64.tgz -P /tmp
# Extract Docker CRI from archive.
$ tar xvzf /tmp/cri-dockerd-0.4.0.arm64.tgz -C /tmp
# Install Docker CRI.
$ sudo mv /tmp/cri-dockerd/cri-dockerd /usr/bin
# Check Docker CRI version.
$ cri-dockerd --version
Configure Docker CRI
Linux (RPM)
Please run the below commands to configure Systemd for Docker CRI on RPM-based Linux operating systems.
ARM64
# Add Docker CRI service configuration in Systemd.
$ sudo nano /usr/lib/systemd/system/cri-docker.service
[Unit]
Description=CRI Interface for Docker Application Container Engine
Documentation=https://docs.mirantis.com
After=network-online.target firewalld.service docker.service
Wants=network-online.target
Requires=cri-docker.socket
[Service]
Type=notify
ExecStart=/usr/bin/cri-dockerd --container-runtime-endpoint fd://
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
[Install]
WantedBy=multi-user.target
# Add Docker CRI socket configuration in Systemd.
$ sudo nano /usr/lib/systemd/system/cri-docker.socket
[Unit]
Description=CRI Docker Socket for the API
PartOf=cri-docker.service
[Socket]
ListenStream=%t/cri-dockerd.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker
[Install]
WantedBy=sockets.target
# Reload Systemd service.
$ sudo systemctl daemon-reload
# Start Docker CRI service.
$ sudo systemctl start cri-docker.service
# Check status of Docker CRI service.
$ sudo systemctl status cri-docker.service
# Enable Docker CRI service at boot.
$ sudo systemctl enable cri-docker.service