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.
我用阿里云跟着黑马项目报错了。在同样的情况下,我可以往下看。如果在同样的情况下没有解决错误,我可以私下给我发信息
先下载runc源码
RunC 是什么? RunC 它是一种轻量级工具,用来操作容器,只用来做这件事,而且这件事要做好。 我们可以认为它是一个不需要通过命令的小工具 docker 直接操作容器的发动机。 事实上,runC 它是基于标准化的产品 OCI 创建和操作容器的标准。 而 OCI(Open Container Initiative)组织旨在围绕容器格式和运行制定开放的工业标准
安装 runC
安装安全计算模型 libseccomp RunC 默认的编译配置是支持 seccomp 是的,我们需要先安装libseccomp, 如果是如果是系统,就:
yum install -y libseccomp-devel
如果是系统,就安装:
sudo apt install libseccomp-dev
安装runc需要才可以
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
无报错!解决问题