例如拉取mysql5.7和redis报错,但是拉取tomcat就可以,原因是docker版本太低,需要安装最新版本docker
1.按照网上的教程,先卸载docker,执行以下命令:
yum erase docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
2.再执行yum install docker-ce -y,依然报错
原因是yum源不是最新的,需要更新,根据文档
按照上面1.卸载docker步骤操作后,执行
1.yum install -y yum-utils device-mapper-persistent-data lvm2
2.yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.yum install -y docker-ce
执行这三条即可成功,docker version查看docker版本,以及是最新的了。
3.如果执行上面的2.操作后没报错,启动docker,拉取镜像的时候还是报错
Error response from daemon: unknown or invalid runtime name: docker-runc
解决方式如下:
grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'
然后重启 docker
systemctl restart docker