Skip to Content

Fix: Exiting due to NOT_FOUND_CRI_DOCKERD in Minikube

Minikube is an invaluable tool for developers looking to test and develop Kubernetes applications locally.

However, when running Minikube with Kubernetes version 1.24 or higher using the none driver and Docker as the container runtime, you might encounter the NOT_FOUND_CRI_DOCKERD error.

minikube start –vm-driver=none
😄 minikube v1.32.0 on AlmaLinux 8.6
✨ Using the none driver based on user configuration
👍 Starting control plane node minikube in cluster minikube
🤹 Running on localhost (CPUs=4, Memory=31573MB, Disk=29587MB) …

🐳 Exiting due to NOT_FOUND_CRI_DOCKERD:

💡 Suggestion:

The none driver with Kubernetes v1.24+ and the docker container-runtime requires cri-dockerd.

Please install cri-dockerd using these instructions:

https://github.com/Mirantis/cri-dockerd

How to install cri-docker in Redhat Centos Fedora

To fix the NOT_FOUND_CRI_DOCKERD error on Red Hat Enterprise Linux (RHEL) or CentOS systems by installing the cri-dockerd component using an RPM package, follow these steps.

The provided RPM package is suitable for systems using the el8 repository, commonly associated with RHEL 8, CentOS 8, and similar distributions.

Step 1: Download the RPM Package

First, download the cri-dockerd RPM package from the provided URL using wget or curl. If wget is not installed on your system, you can use curl with the -L flag to follow redirects and -o to specify the output file name.

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9-3.el8.x86_64.rpm

Or with curl:

curl -L https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd-0.3.9-3.el8.x86_64.rpm -o cri-dockerd-0.3.9-3.el8.x86_64.rpm

Step 2: Install the RPM Package

Once the package is downloaded, install it using the rpm command or yum, which can resolve dependencies automatically. Using yum is recommended because it handles dependency resolution which rpm does not.

sudo yum install -y cri-dockerd-0.3.9-3.el8.x86_64.rpm

Or, if you prefer using dnf (which replaces yum in more recent distributions like CentOS 8 and RHEL 8):

sudo dnf install -y cri-dockerd-0.3.9-3.el8.x86_64.rpm

Step 3: Enable and Start cri-dockerd

After the installation is complete, you need to start and enable the cri-dockerd service to ensure it’s running and will automatically start on boot.

sudo systemctl enable --now cri-docker.service

Step 4: Verify the Service is Running

Check the status of the cri-dockerd service to confirm it’s active and running without issues.

systemctl status cri-docker.service

Step 5: Restart Minikube

With cri-dockerd installed and running, you can now restart Minikube:

minikube start --vm-driver=none

This should resolve the issue, allowing Minikube to run Kubernetes using Docker as the container runtime with the none driver on your RHEL or CentOS system.

Conclusion

Installing cri-dockerd using the RPM package streamlines the process on RHEL and CentOS systems, ensuring compatibility with Kubernetes’ requirements for Docker as a container runtime. This approach simplifies the setup and avoids the need to build from source, making it an efficient solution for enterprise environments.

How to install cri-docker in Ubuntu

wget https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb
dpkg -i cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb

Here’s a step-by-step solution:

  1. Downloading cri-dockerd:
    • The wget command is used to download the cri-dockerd Debian package from its GitHub releases page.
    • The URL https://github.com/Mirantis/cri-dockerd/releases/download/v0.3.9/cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb points to the specific version (v0.3.9) of the cri-dockerd package designed for Ubuntu 20.04 (Focal Fossa) and for 64-bit (amd64) systems.
    • This package contains the cri-dockerd binary and its associated files, packaged in a format suitable for Debian-based distributions like Ubuntu.
  2. Installing the Package:
    • The dpkg -i command is used to install the Debian package that was just downloaded.
    • dpkg is the Debian package manager, and the -i flag stands for “install”. Following this flag is the path to the .deb package file that was downloaded in the previous step.
    • The command dpkg -i cri-dockerd_0.3.9.3-0.ubuntu-focal_amd64.deb instructs dpkg to install the cri-dockerd package. This will unpack the package content into the appropriate locations on the filesystem and set up cri-dockerd for use.

After executing these commands, the cri-dockerd service should be installed on the Ubuntu system.

5 ways to install packages in Linux

2 ways to Install a package from a specific repository in Linux

Understanding Package Management: A Guide to Package Managers in Linux

5 ways to list installed packages in Linux