I recently updated my Centos 7 based machine. And since, i fail to start any of my dockers. Does someone have some experience with this issue and if yes how did you fix it ? Thanks for your valuable help. Below the error log
docker run -it centos6_labs_ompi161_devtools3 /usr/bin/docker-current: Error response from daemon: shim error: docker-runc not installed on system.
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
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
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!