docker-runc not installed on system

It seems that the docker rpm misses some symbolic link in the end. As it was pointed to me, this issue was raised on:

https://access.redhat.com/solutions/2876431

and this can be easily fixed by:

cd /usr/libexec/docker/
sudo ln -s docker-runc-current docker-runc 

Please try this

Failure shim error: docker-runc not installed on system

cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc

I know that this is a rather old question; however, this occured when I updated from CentOS - Extras docker to Docker's own docker-ce rpm. The service file located at /usr/lib/systemd/system/docker.service had the following lines hardcoded into the ExecStart line:

--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \

By default, the docker-ce package does not come with the same set of lines and the file paths are different. After upgrading I added the following and the containers respected my start commands with no data lost as expected:

 --add-runtime docker-runc=/usr/bin/docker-runc \
    --default-runtime=docker-runc \
    --exec-opt native.cgroupdriver=systemd \
    --userland-proxy-path=/usr/bin/docker-proxy

Hope this helps someone else!


In reference to the top answer, introduce the sym link in /usr/bin to enable it in global path

sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc