公司办公网络偶尔抽风,需要安装一个网络监控,恰好刚买了2台国产电脑,就想着在银河麒麟上部署一个smokeping,用docker方式,以下是部署记录,真是一波三折。

[root@lghd2000 ~]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
添加仓库自:https://download.docker.com/linux/centos/docker-ce.repo
[root@lghd2000 ~]# yum install -y docker-ce docker-ce-cli containerd.io
Docker CE Stable - aarch64 0.0 B/s | 0 B 00:00 
Errors during downloading metadata for repository 'docker-ce-stable':
- Curl error (35): SSL connect error for https://download.docker.com/linux/centos/10/aarch64/stable/repodata/repomd.xml [OpenSSL SSL_connect: 连接被对方重设 in connection to download.docker.com:443 ]
Error: Failed to download metadata for repo 'docker-ce-stable': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried

发现系统会去找centos10的源,再次执行,系统又报libc.so.6的错误

[root@lghd2000 ~]# yum install -y docker-ce docker-ce-cli containerd.io
Last metadata expiration check: 0:00:37 ago on 2025年04月08日 星期二 11时04分43秒.
Error: 
Problem 1: cannot install the best candidate for the job
- nothing provides libc.so.6(GLIBC_2.34)(64bit) needed by docker-ce-3:28.0.4-1.el10.aarch64
Problem 2: cannot install the best candidate for the job
- nothing provides libc.so.6(GLIBC_2.34)(64bit) needed by docker-ce-cli-1:28.0.4-1.el10.aarch64
Problem 3: problem with installed package docker-runc-1.0.0.rc3-223.ky10.aarch64
- package containerd.io-1.7.27-3.1.el10.aarch64 conflicts with runc provided by docker-runc-1.0.0.rc3-223.ky10.aarch64
- package containerd.io-1.7.27-3.1.el10.aarch64 conflicts with runc provided by docker-runc-1.0.0.rc3-222.ky10.aarch64
- cannot install the best candidate for the job
(try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

我们先解决centos10源的问题,目前centos最稳定版本是7系列,最高到7.9,8版本的稳定版本到8.5,之后就是stream版了,相对来看麒麟用centos7的源应该更好。所以我们可以修改docker-ce.repo文件,让它去从centos7版本里找包。

echo "7" > /etc/yum/vars/centos_version 
# 修改repo版本
sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repo

解决docker-ce.repo从centos7去找软件包后,我们再执行yum install -y docker-ce docker-ce-cli containerd.io安装docker,发现还是会报错,是因为centos7在银河麒麟里没有yum源,故我们还要配置一个centos7的源。

[root@lghd2000 ~]# yum install -y docker-ce docker-ce-cli containerd.io
Docker CE Stable - aarch64 31 kB/s | 72 kB 00:02 
Error: 
Problem 1: package docker-ce-3:26.1.4-1.el7.aarch64 requires docker-ce-rootless-extras, but none of the providers can be installed
- cannot install the best candidate for the job
- nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.0-3.el7.aarch64
- nothing provides slirp4netns >= 0.4 needed by docker-ce-rootless-extras-20.10.0-3.el7.aarch64
- nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.1-3.el7.aarch64
- nothing provides slirp4netns >= 0.4 needed by docker-ce-rootless-extras-20.10.1-3.el7.aarch64
- nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.10-3.el7.aarch64
- nothing provides slirp4netns >= 0.4 needed by docker-ce-rootless-extras-20.10.10-3.el7.aarch64
- nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.11-3.el7.aarch64
- nothing provides slirp4netns >= 0.4 needed by docker-ce-rootless-extras-20.10.11-3.el7.aarch64
- nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.12-3.el7.aarch64
- nothing provides slirp4netns >= 0.4 needed by docker-ce-rootless-extras-20.10.12-3.el7.aarch64

添加阿里云centos7源,并修改repo文件里的系统版本为7。

#我这时是飞腾D2000处理器,需要用arm源
wget http://mirrors.aliyun.com/repo/Centos-altarch-7.repo -O /etc/yum.repos.d/CentOS-Base.repo
sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/CentOS-Base.repo

#如果是x86架构的下载以下repo源文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

 

最后再执行docker安装,就正常了。

[root@lghd2000 ~]# yum install -y docker-ce docker-ce-cli containerd.io
Last metadata expiration check: 0:04:34 ago on 2025年04月08日 星期二 11时50分32秒.
Dependencies resolved.
====================================================================================================
Package Architecture Version Repository Size
====================================================================================================
Installing:
containerd.io aarch64 1.6.33-3.1.el7 docker-ce-stable 26 M
docker-ce aarch64 3:26.1.4-1.el7 docker-ce-stable 17 M
docker-ce-cli aarch64 1:26.1.4-1.el7 docker-ce-stable 13 M
Installing dependencies:
container-selinux noarch 2:2.138.0-1.p01.ky10 ks10-adv-os 36 k
docker-buildx-plugin aarch64 0.14.1-1.el7 docker-ce-stable 12 M
docker-ce-rootless-extras aarch64 26.1.4-1.el7 docker-ce-stable 8.5 M
docker-compose-plugin aarch64 2.27.1-1.el7 docker-ce-stable 12 M
fuse-overlayfs aarch64 0.7.2-6.el7_8 extras 52 k
fuse3 aarch64 3.9.2-11.ky10 ks10-adv-os 108 k
slirp4netns aarch64 0.4.3-4.el7_8 extras 78 k

Transaction Summary
=======================================================================================================
Install 10 Packages

注意:在银河麒麟V10 SP3版本中,操作系统自带的/usr/local/bin/runc 会与自安装的docker版本中的runc 冲突 ,可以先删除系统自有的runc(yum remove docker-runc)

 

 

 

声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。