容器创建遇到的问题

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 在更新容器运行时,碰到容器无法创建的问题

创建容器失败报错


[root@izbp152ke14timzud0du15z compose]# docker run -d ubuntu:demo03ea601ae9ac8132f41ddfd9113d55492223eb12a7fe57851689306c829ecce0
docker: Error response from daemon: OCI runtime create failed: unable to retrieve OCI runtime error (open /run/containerd/io.containerd.runtime.v2.task/moby/03ea601ae9ac8132f41ddfd9113d55492223eb12a7fe57851689306c829ecce0/log.json: no such file or directory): runc did not terminate successfully: unknown.

查看docker服务状态

[root@izbp152ke14timzud0du15z compose]# systemctl status docker● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-04-1907:53:17 CST; 14min ago
     Docs: https://docs.docker.com
 Main PID: 9411 (dockerd)
    Tasks: 139   Memory: 262.1M
   CGroup: /system.slice/docker.service
           └─9411 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Apr 1908:07:18 izbp152ke14timzud0du15z dockerd[9411]: time="2022-04-19T08:07:18.719969980+08:00"level=warning msg="failed to retrieve runc version: exit status 127"Apr 1908:07:18 izbp152ke14timzud0du15z dockerd[9411]: time="2022-04-19T08:07:18.724307409+08:00"level=warning msg="failed to retrieve runc version: exit status 127"Apr 1908:07:18 izbp152ke14timzud0du15z dockerd[9411]: time="2022-04-19T08:07:18.729515514+08:00"level=warning msg="failed to retrieve runc version: exit status 127"Apr 1908:07:18 izbp152ke14timzud0du15z dockerd[9411]: time="2022-04-19T08:07:18.732048784+08:00"level=warning msg="failed to retrieve runc version: exit status 127"Apr 1908:07:18 izbp152ke14timzud0du15z dockerd[9411]: time="2022-04-19T08:07:18.737637287+08:00"level=warning msg="failed to retrieve runc version: exit status 127"

报错日志:

level=warning msg="failed to retrieve runc version: exit status 127"

查看docker  version信息, 也没看到runc

[root@izbp152ke14timzud0du15z compose]# docker versionClient: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 1311:45:41 2021 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      trueServer: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 1311:44:05 2021  OS/Arch:          linux/amd64
  Experimental:     false containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

我为什么会碰到此问题?

我通过whereis 查找runc,发现两个位置存在此文件,但是通过md5sum比对,发现两个文件的md5sum值不一样

[root@izbp152ke14timzud0du15z ~]# whereis runcrunc: /usr/bin/runc  /usr/local/sbin/runc 
[root@izbp152ke14timzud0du15z ~]# md5sum /usr/bin/runc3c363f2ba5a276132d55a42f8998d883  /usr/bin/runc
[root@izbp152ke14timzud0du15z ~]# md5sum /usr/local/sbin/runc5eff008a1fb5afe8c2deca6a62e92d16  /usr/local/sbin/runc

把能用的runc文件覆盖掉不能用的runc文件,能用的runc执行有输出信息

# runc --versionrunc version 1.0.2
commit: v1.0.2-0-g52b36a2
spec: 1.0.2-dev
go: go1.16.10
libseccomp: 2.3.1


https://github.com/opencontainers/runc/releases  runc下载地址


正常了

[root@izbp152ke14timzud0du15z sbin]# docker versionClient: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 1311:45:41 2021 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      trueServer: Docker Engine - Community
 Engine:
  Version:          20.10.14
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.15
  Git commit:       87a90dc
  Built:            Thu Mar 2401:48:24 2022  OS/Arch:          linux/amd64
  Experimental:     false containerd:
  Version:          v1.6.1
  GitCommit:        10f428dac7cec44c864e1b830a4623af27a9fc70
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
目录
相关文章
|
应用服务中间件 Linux Shell
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
docker 在容器里下载配置nginx,并可在浏览器上访问的方法, 并将容器转为镜像,或将容器转为文件,再将文件转为镜像的两种方式,创建容器时绑定端口的方法,
Docker基础 docker创建centos7容器然后安装配置Nginx,并在浏览器访问
|
应用服务中间件 nginx Docker
3.docker创建容器 (docker容器命令)
3.docker创建容器 (docker容器命令)
2553 0
3.docker创建容器 (docker容器命令)
|
容器
利用deployment创建挂载本地路径的容器
利用deployment创建挂载本地路径的容器
553 0
|
Java 应用服务中间件 容器
踩坑+排雷新版IDEA2021.1创建配置Javaweb项目并部署在Tomcat容器,完整详细
踩坑+排雷新版IDEA2021.1创建配置Javaweb项目并部署在Tomcat容器,完整详细
232 5
踩坑+排雷新版IDEA2021.1创建配置Javaweb项目并部署在Tomcat容器,完整详细
|
Java 容器 Spring
SpringBoot源码学习(二) 初始化环境,创建容器,初始化Failure Analyzers
## 前言 + 第一篇文章我们大概了解了springboot启动的时候主要做了这么几件事 + new了一个SpringApplication实例 + 判断当前spring运行的环境 + 加载META-INF/spring.factories 并初始化监听器 + SpringApplications实例.run + 获取并启动监听器 + 实例化Even
280 0
SpringBoot源码学习(二) 初始化环境,创建容器,初始化Failure Analyzers
|
关系型数据库 MySQL Linux
Docker容器持久化和Docker容器非持久化、创建卷、移除卷、绑定卷
容器持久化,docker创建卷,查看卷,查看卷详情,rm删除卷,prune删除卷,通过prune和rm删除卷的区别,挂载卷,等相关操作
Docker容器持久化和Docker容器非持久化、创建卷、移除卷、绑定卷
|
关系型数据库 MySQL Linux
docker基础 docker创建centos容器,然后在centos容器里下载MySQL并本地连接MySQL
docker基础,使用docker创建一个centos容器,并在该容器下载安装MySQL,并设定端口号,然后在本地连接MySQL
docker基础 docker创建centos容器,然后在centos容器里下载MySQL并本地连接MySQL
|
运维 Linux Shell
Mac 系统 Docker 创建过的容器如何修改映射端口
Mac 系统 Docker 创建过的容器如何修改映射端口
839 0
|
JSON 弹性计算 NoSQL
CentOS 系统 Docker 创建过的容器如何修改映射端口
CentOS 系统 Docker 创建过的容器如何修改映射端口
504 0
|
Cloud Native 关系型数据库 MySQL
【云原生】Docker之创建并进入mysql容器
本文主要讲解的是创建mysql的容器,大家都知道,在外面进入mysql都很容易,“mysql -u用户名 -p密码”就可以,但是是容器的mysql就没那么好进入了,首先还要拉取镜像,创建容器,在进入容器,然后才可以进入mysql;其实也没有那么难,而且比在宿主机装一个mysql简便了很多,也省去了很多时间,比如,宿主机上mysql还要编译,容器就不用,但是最难的一点就是如何去创建容器呢,他和普通的创建容器是不一样的,所以,今天给大家讲讲创建mysql容易,并进入、创建库和表;
338 0
【云原生】Docker之创建并进入mysql容器