完美解决docker: Error response from daemon: failed to create shim: OCI runtime create failed: unable to

docker: Error response from daemon: failed to create shim: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/cdf3729f103e2f4cb94e25f3cfe6c21a3126428c0a977b7651ed5a77ab6d7/log.json: no such file or directory): runc did not terminate successfully:unknown.

本文章转自本人的个人博客网站中 Wing_Blog (bilibilidicks.love) 

这个问题是我用阿里云跟着黑马项目报错的,跟我同样情况的可以往下看,如果相同情况下错误未解决可以私信我

先下载runc源码

RunC 是什么?
RunC 是一个轻量级的工具,它是用来运行容器的,只用来做这一件事,并且这一件事要做好。
我们可以认为它就是个命令行小工具,可以不用通过 docker 引擎,直接运行容器。
事实上,runC 是标准化的产物,它根据 OCI 标准来创建和运行容器。
而 OCI(Open Container Initiative)组织,旨在围绕容器格式和运行时制定一个开放的工业化标准

安装 runC
RunC 是用 golang 创建的项目,因此编译它之前需要在本地安装 golang 的开发环境。

安装安全计算模型 libseccomp
RunC 默认的编译配置是支持 seccomp 的,所以我们需要先安装libseccomp,
如果是centos系统的话,就安装 libseccomp-devel

yum install -y libseccomp-devel


如果是ubuntu系统,就安装libseccomp-dev

sudo apt install libseccomp-dev


安装runc需要go环境才可以安装

 wget https://studygolang.com/dl/golang/go1.16.linux-amd64.tar.gz
 tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz
vi /etc/profile

添加配置

export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin


配置生效:

   source /etc/profile

检查go是否配置成功

 go env

将下载好的runc源码解压到/user/local

tar -C /usr/local -xzf runc-1.0.3.tar.gz

进入runc-1.0.3目录后根据提示安装,如果make和make install用不了就根据报错的提示安装

安装完毕后再次利用docker运行nginx

 无报错!问题解决

  • 13
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值