

centos7中使用yum安装docker报错解决方法
source link: https://jasonkayzk.github.io/2022/08/14/centos7%E4%B8%AD%E4%BD%BF%E7%94%A8yum%E5%AE%89%E8%A3%85docker%E6%8A%A5%E9%94%99%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

服务器上的 Docker 是 1.13 版本的有点老了,于是打算升级一下;
结果发现加入了 Docker 源之后使用 yum 安装报错了…,这里总结一下;
centos7中使用yum安装docker报错解决方法
安装Docker
首先卸载旧版本:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
然后按照软件源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
查看可用版本:
yum list docker-ce --showduplicates | sort -r
至此步骤都是正常的;
当使用 yum 命令安装时:
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
This system is not registered with an entitlement server. You can use subscription-manager to register.
https://yum.dockerproject.org/repo/main/centos/7/repodata/repomd.xml: [Errno
14] HTTPS Error 404 - Not Found
Trying other mirror.
...
failure: repodata/repomd.xml from dockerrepo: [Errno 256] No more mirrors to try.
https://yum.dockerproject.org/repo/main/centos/7/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
原因是 CentOS 7 中的链接解析已经被废弃了;
可以尝试替换:/etc/yum.repos.d/docker-ce.repo
文件中的 $releasever => 7
解决:
/etc/yum.repos.d/docker-ce.repo
[docker-ce-stable]
name=Docker CE Stable - $basearch
- baseurl=https://download.docker.com/linux/centos/$releasever/$basearch/stable
+ baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
替换之后便可安装!
设置为开机启动:
systemctl enable docker
systemctl start docker
查看启动状态:
systemctl status docker
查看版本:
docker version
旧版本Docker兼容
有部分安装的docker版本太旧,对docker进行版本升级后,启动旧版本创建的容器时遇到这个错误:
docker start 容器ID
Error response from daemon: Unknown runtime specified docker-runc
当从不兼容的版本升级docker并且升级后无法启动docker容器时会出现这种情况,原因是新旧版本的两个版本命令所在目录不同;
解决方法:
- 更改
/var/lib/docker/containers
目录中的文件参数,把docker-runc
替换为runc
可通过以下命令进行修复:
grep -rl 'docker-runc' /var/lib/docker/containers/ | xargs sed -i 's/docker-runc/runc/g'
注:
grep -rl
:递归搜索目录和子目录,只列出含有匹配的文本行的文件名,而不显示具体的匹配内容;xargs
:衔接执行之前得到的值;总体意思是把
/var/lib/docker/containers
中含有docker-runc
文件搜索出来;并把
docker-runc
字符替换为runc
;
替换完成后重启 Docker:
systemctl restart docker
附录
文章参考:
Recommend
-
8
CentOS7环境下安装docker 操作系统 : CentOS7.5.1804_x64 docker版本: docker-ce-18.06.3 1、如之前安装过移除老旧版本...
-
7
作者:三十三重天 博客:http://www.zhouhuibo.club 通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟...
-
4
CentOS7安装docker-ce(阿里源) 2020-01-08 Linux Docker 官方教程:https://docs.docker.com/engine/install/centos/...
-
11
linux ...
-
8
libmemcached编译安装报错解决记录 | 张戈博客Jager · 3月5日 · 2017年web · 网站优化 ·
-
8
centos7 yum安装nodejs版本过低的解决办法 方伟的博客 j2ee技术、网络、web等,同名的人真多,我的QQ是20025404 posts - 20,comments...
-
8
解决 pip 安装第三方包时因 SSL 报错 发表于 2022-03-08 分类于
-
7
CentOS7 / Docker 环境安装 GitLab-CE 2022/12/31 Linux Docker Git 安装所需最小内存为 4G ,推荐内存为 8G CentOS7
-
4
在Centos7.6上部署Docker环境以及安装docker-compose首页 - Mac & Linux/2019-08-21 毫无疑问,Do...
-
5
CentOS7环境安装Harbor(docker私服) 麦克斯仇 Think different ...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK