记录一次openEuler安装docker的踩坑记录
1 服务器镜像源替换
PS:
更换前建议先清除或备份其他软件源文件,避免冲突。
备份重命名命令 mv xxxx.repo xxxx.repo.bak
1 BaseOS.repo
在 /etc/yum.repo.d/
下,创建 BaseOS.repo
文件,命令 touch BaseOS.repo
进入文件,粘贴如下内容:
[BaseOS]
name=BaseOS
baseurl=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/OS/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://repo.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP3/OS/x86_64/RPM-GPG-KEY-openEuler
我的openEuler版本是22.03-LTS-SP3。
软件源的主路径是华为官方镜像:https://repo.huaweicloud.com/openeuler/
根据自己安装的版本选择。
当前服务器openEuler版本查看 cat /etc/os-release
2 docker-ce.repo
baseurl地址替换为:https://mirrors.aliyun.com/docker-ce/linux/centos/7/xxxx
这里我用的centos/7
2 验证配置
重新建立缓存:
yum clean all
yum makecache
查看repolist
yum repolist
安装测试
yum install ftp
安装docker
yum install docker-ce docker-ce-cli containerd docker-compose-plugin
出现依赖异常:fuse-overlayfs >= 0.7 error while installing docker
安装相关依赖,yum -y install slirp4netns fuse-overlayfs container-selinux
出现:
单个依次安装:
yum install -y gcc
yum -y install container-selinux
有两个依赖fuse-overlayfs
以及slirp4netns
找不到对应的源(尝试了各种源以及网上的解决办法均不行)。于是直接从阿里云上下载到服务器进行安装,我选择的是centos版本的:
https://developer.aliyun.com/packageSearch?word=fuse-overlayfs
先进行fuse-overlayfs
安装:
#先下载,注意>0.7版本
wget https://mirrors.aliyun.com/centos/7.9.2009/extras/x86_64/Packages/fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
#然后安装
rpm -ivh fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
出现依赖 fuse3-libs异常:
补充安装fuse3-libs依赖:
yum install fuse3-libs
完成之后继续执行前一步由于fuse3-libs不存在而失败的fuse-overlayfs,
rpm -ivh fuse-overlayfs-0.7.2-6.el7_8.x86_64.rpm
继续,安装slirp4netns
依赖:
#先下载,注意是>0.4版本,
wget https://mirrors.aliyun.com/centos/7.9.2009/extras/x86_64/Packages/slirp4netns-0.4.3-4.el7_8.x86_64.rpm
#然后安装
rpm -ivh slirp4netns-0.4.3-4.el7_8.x86_64.rpm
#Ps.这里我一开始安装错了版本,安装了0.3版本,需要卸载:
rpm -e slirp4netns-0.3.0-1.el7.x86_64 然后在执行安装
3 重新安装docker
安装docker
yum install docker-ce docker-ce-cli containerd docker-compose-plugin
成功!
解决过程中参考:
https://www.cnblogs.com/boradviews/p/18369169
https://www.cnblogs.com/murencao/p/17555846.html
https://www.jianshu.com/p/7eef70bcdca2
最后,另外一台相同服务器的完整命令过程: