银河麒麟安装Docker-国产化-九五小庞
银河麒麟高级服务器操作系统 V10 是针对企业级关键业务,适应虚拟化、 云计算、大数据、工业互联网时代对主机系统可靠性、安全性、性能、扩展性和 实时性的需求,依据 CMMI 5 级标准研制的提供内生安全、云原生支持、国产 平台深入优化、高性能、易管理的新一代自主服务器操作系统;同源支持飞腾、 龙芯、申威、兆芯、海光、鲲鹏等自主平台;可支撑构建大型数据中心服务器高 可用集群、负载均衡集群、分布式集群文件系统、虚拟化应用和容器云平台等, 可部署在物理服务器和虚拟化环境、私有云、公有云和混合云环境;应用于政府、 国防、金融、教育、财税、公安、审计、交通、医疗、制造等领域。
公司有个项目需要将系统部署在 kylinos上,刚开始还有点头疼,害怕各种程序无法安装和使用,等安装好服务器进行使用的时候发现这不就是基于centos的嘛,虽然基于哪个版本不知道,但是可以测试的,于是我一顿操作,最后发现它是基于Centos8的,系统内核版本是 4.19,问题不大,既然是基于Centos8的,那Centos8上能跑的程序,在这肯定也能跑,然后我就开始了愉快(痛苦)的安装docker之旅了。
配置阿里云Centos8镜像源
之所以要配置 Centos8 的镜像源是因为在安装docker的时候需要额外的一些依赖,而这些依赖在麒麟官方的源里面是没有的。
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
配置阿里云 docker 镜像源
会存在 yum-config-manager命令找不到问题
这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum-utils 安装就可以了
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
注:执行上方配置镜像源,存在报错,需要执行
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
出现以下内容则表示docker仓库配置成功:
再安装docker
定义 yum 变量&修改 repo
修改 centos 和 docker repo
文件中的 $releasever
为 centos_version
,原因是在麒麟服务器操作系统V10中 $releasever
被修改为了 10,而我们需要使用 centos 8的镜像源,如果你不替换,基本上仓库的每一个地址都是404。
echo "8" > /etc/yum/vars/centos_version sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repo sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/CentOS-Base.repo
建立yum缓存
没啥可说的
yum makecache
查看docker-ce 版本
yum list docker-ce --showduplicates | sort -r
安装docker
这里要安装 docker-ce 19.03 版本,因为我在使用最新版 20.10 启动容器时出现了未知的权限问题,而麒麟服务器操作系统资料相对较少,我未能找到相应的解决方案,只好退而求其次,换到上一个稳定版本。
20.10 版本错误信息如下:
还是安装 19.03 版本吧。
yum install docker-ce-19.03.15 docker-ce-cli-19.03.15 containerd.io -y
注意:在Centos8环境安装docker的时候报错:
Error: Problem: problem with installed package podman-1.6.4-10.module_el8.2.0+305+5e198a41.x86_64 - package podman-1.6.4-10.module_el8.2.0+305+5e198a41.x86_64 requires runc >= 1.0.0-57, but none of the providers can be installed - package containerd.io-1.3.7-3.1.el8.x86_64 conflicts with runc provided by runc-1.0.0-65.rc10.module_el8.2.0+305+5e198a41.x86_64 - package containerd.io-1.3.7-3.1.el8.x86_64 obsoletes runc provided by runc-1.0.0-65.rc10.module_el8.2.0+305+5e198a41.x86_64 - package docker-ce-3:19.03.13-3.el8.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed - conflicting requests - package runc-1.0.0-64.rc10.module_el8.2.0+304+65a3c2ac.x86_64 is filtered out by modular filtering (try to add '--allowerasing' to command line to replace conflicting packages or '--skip-broken' to skip uninstallable packages)
这个问题搜了两个发现 low code,于是就进入了stackoverflow,于是就解决了!!!
啥都不说直接运行俩命令:
yum erase podman buildah
yum install docker-ce|dnf install docker-ce
注意啊“|”表示或。
-----------------------------------------------------------------
参考链接:在银河麒麟高级服务器操作系统V10上安装docker - 知乎 (zhihu.com)