【docker: Error response from daemon: OCI runtime create failed: container_linux.go:380】

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

成功!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值