docker-runc 未安装在系统上
Posted
技术标签:
【中文标题】docker-runc 未安装在系统上【英文标题】:docker-runc not installed on system 【发布时间】:2017-08-02 22:43:01 【问题描述】:我最近更新了基于 Centos 7 的机器。从那以后,我无法启动任何码头工人。有人对这个问题有一些经验吗?如果有,你是如何解决的? 感谢您的宝贵帮助。 错误日志下方
docker run -it centos6_labs_ompi161_devtools3 /usr/bin/docker-current: 来自守护进程的错误响应:shim error: docker-runc not installed on system.
【问题讨论】:
见github.com/docker/docker/issues/26022 【参考方案1】:参考上面的答案,在 /usr/bin 中引入 sym 链接以在全局路径中启用它
sudo ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc
【讨论】:
这真的是评论,而不是答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker. 在 CentOS7 上工作 这个答案对我有用,而 NabilG 没有。在 centos 7 上,使用 Docker 1.12.6。谢谢!【参考方案2】:似乎 docker rpm 最后遗漏了一些符号链接。 正如有人指出的那样,这个问题是在以下时间提出的:
https://access.redhat.com/solutions/2876431
这可以通过以下方式轻松解决:
cd /usr/libexec/docker/
sudo ln -s docker-runc-current docker-runc
【讨论】:
以上解决方案不能解决我的问题,我使用的是centos 7.0 在启动 dockerd 时不要忘记在路径中包含 /usr/libexec/docker。 (链接解决方案适用于我使用 centos 7.4) 上述解决方案在 centos 7 上对我有用,但强行杀死了 docker 并启动。杀死 Docker ps axf | grep 码头工人 | grep -v grep | awk 'print "kill -9 " $1' | sudo sh start docker sudo systemctl start docker 这适用于我的情况。我的 docker 版本 1.13.1 和 Centos 7【参考方案3】:我知道这是一个相当古老的问题;但是,当我从 CentOS - Extras docker 更新到 Docker 自己的 docker-ce rpm 时,就会发生这种情况。位于 /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 \
默认情况下,docker-ce 包不带有相同的行集,文件路径也不同。升级后,我添加了以下内容,容器尊重我的启动命令,没有按预期丢失数据:
--add-runtime docker-runc=/usr/bin/docker-runc \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/bin/docker-proxy
希望这对其他人有帮助!
【讨论】:
【参考方案4】:请试试这个
填充失败错误:系统上未安装 docker-runc
cd /usr/libexec/docker/
cp docker-runc-current /usr/bin/docker-runc
【讨论】:
【参考方案5】:我尝试了 Nabil Ghodbane 的方法,但没有奏效。 感谢 billabongrob 的回答,我找到了解决此问题的方法。 你可以试试这个 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"
或者在你的命令行中使用这个配置。
【讨论】:
【参考方案6】:与 CentOS 无关,但对于 Slackware,我必须安装单独的 runc
软件包。
【讨论】:
以上是关于docker-runc 未安装在系统上的主要内容,如果未能解决你的问题,请参考以下文章
error: docker-runc not installed on system
docker-runc not installed on system 问题