【docker Error response from daemon OCI runtime create failed container_linux.go380】

docker: Error response from daemon: OCI runtime create failed: container_linux.go:380 报错解决

docker安装mysql5.7 运行不起来,报OCI runtime create failed

在docker上pull mysql5.7没问题
执行一下代码报错

docker run -p 3306:3306 --name mysql 

-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7

cd进入/mydata/mysql/conf查看发现并没有正确挂载,也没有/etc/mysql这个文件路径

报错原因:因为linux与docker版本的兼容性问题,docker版本需要降级或者重装

解决办法有两个

  • 重装指定版本docker
  • 降级docker到指定版本

第一种办法:卸载并重装:

//第一步:卸载docker

//列出docker下载过的包
sudo yum list installed | grep docker

//删除以上所有相关安装包  sudo yum -y remove “以上显示相关包”
sudo yum -y remove docker-ce.x86_64
sudo yum -y remove docker-ce-cli.x86_64

//删除相关的镜像与容器
sudo rm -rf /var/lib/docker

sudo yum remove docker 
              docker-client 
              docker-client-latest 
              docker-common 
              docker-latest 
              docker-latest-logrotate 
              docker-logrotate 
              docker-selinux 
              docker-engine-selinux 
              docker-engine
                 
//测试是否删除
docker -v


//第二步:重装docker指定版本

//安装一些必要的系统工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

//添加软件源信息:
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

//更新 yum 缓存:
sudo yum makecache fast

//查看可用版本的 Docker-ce:
yum list docker-ce --showduplicates | sort -r

//如果需要只显示table版本,可以关闭测试版本的list:
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test

//更新yum包索引
yum makecache fast

//安装指定版本的docker-ce:
sudo yum install -y docker-ce-17.03.2.ce-1.el7.centos 

//报错:如果在安装指定版本的docker时显示需要安装指定版本的docker-ce-selinux依赖包,请安装:
yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm 

然后重新拉取mysql

docker pull mysql:5.7

第二种办法:降级docker到指定版本

//停止docker
sudo systemctl stop docker
//输入降级命令
yum downgrade --setopt=obsoletes=0 -y docker-ce-17.03.2.ce-1.el7 docker-ce-selinux-17.03.2.ce-1.el7 containerd.io
//检查docker版本
docker -v

重新创建容器并启动

docker run -p 3306:3306 --name mysql 

-v /mydata/mysql/log:/var/log/mysql
-v /mydata/mysql/data:/var/lib/mysql
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7

成功!!

先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

猜你喜欢

转载自blog.csdn.net/web18334137065/article/details/126065069
今日推荐