[英]docker-runc not installed on system
I recently updated my Centos 7 based machine.我最近更新了基于 Centos 7 的机器。 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. docker run -it centos6_labs_ompi161_devtools3 \/usr\/bin\/docker-current:来自守护进程的错误响应:shim 错误:docker-runc 未安装在系统上。
It seems that the docker rpm misses some symbolic link in the end. 似乎docker rpm最终错过了一些符号链接。 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
参考最佳答案,在/ usr / bin中引入sym链接以在全局路径中启用它
sudo ln -s /usr/libexec/docker/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.
然而,当我从CentOS - Extras docker更新到Docker自己的docker-ce rpm时发生了这种情况。 The service file located at /usr/lib/systemd/system/docker.service had the following lines hardcoded into the ExecStart line:
位于/usr/lib/systemd/system/docker.service的服务文件将以下行硬编码到ExecStart行中:
--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. 默认情况下,docker-ce软件包没有相同的行集,文件路径也不同。 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! 希望这有助于其他人!
I tried Nabil Ghodbane's method, but it didn't work. 我尝试了Nabil Ghodbane的方法,但它没有用。 Thanks to billabongrob's answer, I found a way to fix this problem.
感谢billabongrob的回答,我找到了解决这个问题的方法。 You can try this Docker config file:
您可以尝试这个Docker配置文件:
$ cat /etc/docker/daemon.json
{
"log-level":"warn",
"hosts": ["unix:///var/run/docker.sock","tcp://0.0.0.0:2375"],
"runtimes": {
"docker-runc": {
"path": "/usr/libexec/docker/docker-runc-current"
}
},
"add-runtime": "docker-runc=/usr/libexec/docker/docker-runc-current",
"default-runtime": "docker-runc"
}
or use this config in your command line . 或者在命令行中使用此配置。
Please try this 请试试这个
Failure shim error: docker-runc not installed on system 失败垫片错误:未在系统上安装docker-runc
cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc
与 CentOS 无关,但对于 Slackware,我必须安装一个单独的runc
包。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.