企业实践 | 如何在阿里云裸金属服务器上使用 UEFI 模式实践安装国产银河麒麟 V10 操作系统入门篇

[ 点击 👉 关注「 全栈工程师修炼指南」公众号 ]

设为「⭐️ 星标」带你从基础入门全栈实践 再到 放弃学习
涉及 网络安全运维、应用开发、物联网 IOT、学习路径 、个人感悟 等知识分享。

希望各位看友多多支持【关注、点赞、评论、收藏、投币】,助力每一个梦想。

WeiyiGeek Blog's - 花开堪折直须折,莫待无花空折枝 】
作者主页: 【 https://weiyigeek.top
博客地址: 【 https://blog.weiyigeek.top 】
作者答疑学习交流群:欢迎各位志同道合的朋友一起学习交流【点击 👉 加入交流群】, 或者关注公众号回复【学习交流群】。



0x00 前言简述

上一篇讲解了如何在 ESXI 中使用传统模式安装 KylinOS 系统,本文主要讲解实践了博主在阿里云裸金属服务器上,使用 UEFI 模式安装国产的操作系统 KylinOS(银河麒麟) V10 Lance 流程, 以及简单的操作配置,帮助各位小伙伴从国产服务器入门到放弃.. 呸..,是支持国产系统,当前国产系统是大趋所势(国家要求),作为一名国企的 IT 搬砖打工人肯定是积极响应,此篇文章作为银河麒麟入门安装实践扫盲,后续会将在运维或者 K8S 集群中遇到的问题进行整理出来,减少后续伙伴入坑和出坑,好了言归正传。

我们使用的是阿里云裸金属服务器,前期我们需要通过 IPMI (Intelligent Platform Management Interface, 智能平台管理接口) 进行远程控制服务器安装操作系统,此处由于阿里云裸金属服务器是采用 Inspur (浪潮) 的基础硬件,所以在后续实践中你会看到 Inspur 的相关信息, 并且浪潮服务器 IPMI 安装系统的流程也可参考本文进行。

PS : 浪潮集团是中国领先的云计算、大数据服务商,拥有浪潮信息、浪潮软件、浪潮国际三家上市公司。主要业务涉及云计算、大数据、工业互联网、新一代通信及若干应用场景。

首发地址: https://mp.weixin.qq.com/s/489ALphpt1nx1pvFcGpD9g
原文地址: https://blog.weiyigeek.top/2023/3-22-726.html


什么是裸金属服务器?

定义: 裸金属服务器(Bare Metal Server),是一台既具有传统物理服务器特点的硬件设备,又具备云计算技术的虚拟化服务功能,是硬件和软件优势结合的产物,
性质: 裸金属服务器的本质是一台兼具弹性云服务器和物理机性能的计算类服务
应用: 裸金属服务器主要应用于对系统稳定性、安全性和高标准敏感度高的场合, 即可以为企业提供专属的云上物理服务器,为核心数据库、关键应用系统、高性能计算、大数据等业务提供卓越的计算性能以及数据安全, 租户可灵活申请,按需使用。


什么是 IPMI? 它的用途是什么?

IPMI 全称是 Intelligent Platform Management Interface,智能平台管理接口(即带外管理的计算机接口)。它是由 Intel、DELL、HP 及 NEC 于 1998 年共同提出,同时由 IPMI 论坛创建了 IPMI 标准依赖,并已经得到了 170 多家供应商的支,这使得其逐渐成为了一个完整地包括服务器和其他系统(如存储设备、网络和通信设备)的硬件管理规范。通过该规范用户使用 IPMI 协议监视服务器的物理健康特征,如温度、电压、风扇工作状态、电源状态等。此外IPMI协议是一个开放的免费标准,用户在遵守开源协议要求下使用而无需支付额外的费用。目前该标准最新版本为 IPMI 2.0,该版本在原有基础上有了不少的改进,包括可以通过串口、Modem 以及 Lan 等远程环境管理服务器系统(包括远程开关机),以及在安全、VLAN 和刀片支持等方面的改进。

IPMI 用途是支持远程监视,并且不需要计算机操作系统的许可,它是连接到主板或服务器的单独硬件底板管理控制器(BMC)上运行, 简单的说 IMPI 是服务器的安全警卫,它可以远程控制服务器开关机、重启等操作,查看修改 BIOS 查看系统启动过程, 控制台登录服务器配置 SSH 访问, 其次是查看系统故障日志记录访问系统事件日志 (System Event Log,SEL) 和传感器状况等,以及对系统的各种设置等。

PS: 带外是指无需与系统的物理资产位于同一房间即可访问计算机系统。


0x01 裸金属服务器上安装银河麒麟 -V10-SP3 实践

1. 前置知识

描述: KylinOS(银河麒麟) 基础知识以及发展历史,版本说明、试用镜像下载可参考博主的此篇文章《1. 国产银河麒麟 V10 服务器操作系统基础知识与安装实践》( https://blog.weiyigeek.top/2023/3-21-725.html
) 此处就不再重复累述了,下面我们我们直接接入镜像下载、安装实践。

2. 镜像下载

描述: 麒麟软件官方提供了银河麒麟操作系统免费试用以及 openKylin 社区版本下载,此处由于我们是要使用银河麒麟操作系统 V10 SP3,所以我们需要申请下载。

Step 1. 首先我们打开浏览器访问 https://www.kylinos.cn/support/trial.html 地址,填上对应信息后提交。

WeiyiGeek.产品试用申请图

Step 2. 提交成功会转到下载页面,根据 CPU 架构 (AMD、Intel) 选择要下载银河麒麟高级服务器操作系统V10安装包,此处由于我服务器机器的 CPU 是 Intel 的, 所以可以选择兼容版本,此处我下载的 ISO 文件为 Kylin-Server-V10-SP3-General-Release-2212-X86_64。

WeiyiGeek.官方下载银河麒麟高级服务器操作系统V10_iso安装包图

温馨提示: 上述试用版本会不定期更新,所以你下载的可能与我的 ISO 文件不一致,这是正常的。

除此之外,如果你还嫌麻烦,我们还可以通过【双源飞流下载站】(https://sx.ygwid.cn:4431/) 进行下载对应的银河麒麟版本,注意 MD5 校验哟!

银河麒麟服务器操作系统 V10SP3 x86_2212(兆芯 / 海光) md5: ff02d3a712f97e5e7b86c9bd56bcf9ac
下载地址: https://sx.ygwid.cn:4431/iso/Kylin-Server-V10-SP3-General-Release-2212-X86_64.iso

WeiyiGeek.镜像站下载银河麒麟高级服务器操作系统V10_iso图


3. 安装流程

Step 1. 阿里云裸金属服务器是采用 Inspur (浪潮) 的基础硬件,所以首先浏览器访问 Inspur (浪潮) Management System 管理后台 http://10.**.**.210/index.html ,默认账号密码为 admin/admin ,小伙伴们记得在生产环境中已经要更改符合等保要求哟!登录成功后如下图所示:

WeiyiGeek.IPMI带外管理系统图


Step 2. 点击【控制台重定向 (KVM)】-> 再次点击【Launch KVM Java Viewer】,注意此处会下载一个 Viewer.jnlp 程序其是使用 javaws.exe 即 Java 程序打开的,所以你需要安装 Java 环境 ( 参考地址: https://blog.weiyigeek.top/2019/4-20-285.html#0x01-JAVA 开发环境 ), 一般来说新的服务器 IPMI 通常支持 HTML5,所以你需要根据实际情况来安装基础环境。

下载【jviewer.jnlp】完成后先不要急着双击,为了防止后续 java 安全等级过高导致运行风险提示从而不能链接到服务器界面终端,此时我们需要在【控制面板 CMD: control】-> 【java】-> 【安全】选项卡将该 IPMI 地址添加到如下图所示的地方, 点击确定双击后刚才下载的文件,链接到服务器终端界面。


WeiyiGeek.控制台重定向(KVM)图


Step 3. 连接成功后如下图所示,点击【光盘图标】-> 【CD/DVD】 -> 【CD image】选择银河麒麟系统安装 ISO 镜像 [Kylin-Server-V10-SP3-General-Release-2212-X86_64.iso] -> 点击【Connect】最后 ok 即可。

WeiyiGeek.挂载本地ISO文件到服务器图


Step 4. 启动服务器电源或者重启服务器(PS: 服务器开机启动自检时间可能有点长请耐心等待),在显示厂商 Logo 解密按下 DEL 键即可进入到 BIOS 中,进入后点 Boot 选项卡,将 Boot Mode Select 设置为 UEFI 模式, 再切换到 Save & Exit 界面,选择【Save Changes and Reset】即可保存 BIOS 配置以及重启服务。

WeiyiGeek.将系统启动模式修改为UEFI


Step 4. 等待重启服务器(PS: 服务器开机启动自检时间可能有点长请耐心等待),此处服务器硬件环境可能与你们环境有所不同,所以简单了解一下操作,自行 Google、百度 对应的服务器如何进行启动引导的选择,此处重启后在阿里云图标界面按照提示,按下【F11】按键进入到 Boot Menu,再选择 【IEI Virtual CDROM0 1.00】。

WeiyiGeek.Boot Menu 启动选择图


Step 5. 使用方向键选择 "Install Kylin Linux Advanced Server V10" (白行为选中), 回车即可进入安装流程。

WeiyiGeek.Install Kylin Linux Advanced Server V10 图


Step 6. 进入【欢迎使用 Kylin Linux Advanced Server V10】界面,默认采用【简体中文】,点击 【继续】或者 Alt+C键进入到安装信息摘要。

WeiyiGeek.欢迎使用 Kylin Linux Advanced Server V10图


Step 7. 进入【安装信息摘要】界面, 该页面配置所有与安装相关的信息,点击相应配置项的图标进入配置页面,需要注意的是【软件】【系统】以及【用户设置】配置。

WeiyiGeek.安装信息摘要图


Step 8. 点击 【软件选择】,此处需要根据不同业务系统环境需求进行服务器的安装,默认选项是【带 UKUI GUI 的服务器】,但是通常来说建议选择【最小安装】(一是安装速度快,二是防止过多的安装软件占用系统空间),例如博主在安装系统时选择最小安装附加软件如下图所示,选择后点击【完成】返回上一界面。

WeiyiGeek.软件选择最小化安装图


Step 9. 点击 【安装目的地】,此处是配置安装磁盘及分区,如果您使用的是全新的磁盘并且希望使用全部磁盘空间,可以使用默认的自动分区配置,直接点击【完成】返回【安装信息摘要】页面即可,但是对于机房线上的服务器来说,通常是需要自定义的,此处我们选择需要安装系统的本地磁盘(256GB)的,然后在存储配置点击【自定义】,再点击【完成】进入下一界面

WeiyiGeek.选择安装目的地图


Step 10. 此时进入到手动分区页面,点击【这里自动创建它们】LVM 逻辑卷 , PS: 若有不了解的朋友可以参考博主的此篇文章 《Linux 磁盘管理之 LVM 快速入门配置》[ https://blog.weiyigeek.top/2019/5-27-206.html ]

WeiyiGeek.进行手动创建LVM逻辑卷图


Step 11. 点击后将会出现如下界面,此时我们可以根据需求来修改各分区挂载点的大小。PS: 下面是在 UEFI 模式下的分区配置,配置好之后点击 【完成】,当前一般建议在安装系统时使用 UEFI 模式启动,因为其更安全、更快速。

# 分区配置(建议)
/  根分区  50G及以上
/home 用户家数据分区 50G及以上
/boot boot分区 2G
/boot/efi UEFi启动分区 1G

PS: 分区格式建议设置为 xfs 即可,当然也可以是ext4 至于优缺点请看图片下方。

WeiyiGeek.手动划分分区结果图

知识扩展: linux 中 xfs 和 ext4 有什么区别?

1、单个文件的大小,EXT4 可以是 16GB 到 16TB,而 XFS 可以是 16TB 到 16EB;
2、最大文件系统大小,EXT4 可以是 1EB,而 XFS 是 8EB;
3、EXT4 受限制于磁盘结构和兼容问题,可扩展性和 scalability 不如 XFS。
4、在 4K 数量级上随机写 XFS 略好于 EXT4。


Step 12. 然后将会出现如下图所示界面,我们点击【接受更改】即可,将会把分区信息写入磁盘中,等待片刻,将会回到主界面。


Step 13. 下面再进行【网络和主机名】配置,此处我将机器名称设置为 kylinos ,点击【配置】,将其测试网卡地址设置为 192.168.10.210 ,设置后点击【完成】即可。

WeiyiGeek.网络和主机名配置图


Step 14. 然后再进行 root 用户和普通用户账号密码设置,PS: 请注意密码强弱要求,并且 root 密码不能与普通管理员密码一致,单击【完成】回到主界面。

WeiyiGeek.root用户密码以及普通用户账号密码设置图


Step 15. 在进行前面的操作后,通常会出现如下页面,我们点击【开始安装】即可开始系统了。

WeiyiGeek.系统安装配置完成图

温馨提示: 安装程序会自动检测各个配置项;如果检测存在无法确认或不正确配置项,相应配置项的图标上会显示感叹号。


Step 16. 此处等待 10 来分钟的样子即可安装成功,然后点击如图中所示的【重启系统】按钮即可。

WeiyiGeek.重启系统图


Step 17. 系统重启之后,将会出现如下图所示的界面,需要你 acceept 允许许可以及网络配置,你需要输入指定项目名称以及提示信息进行设置即可。 PS: 若不想进行网络配置可以输入q 然后按照提示输入 yes 即可回到系统的登录界面。

WeiyiGeek.图


Step 18. 此时你将使用刚才设置的 root 用户或者 kylin 用户的密码进行登录到麒麟服务器中,可以执行如下命令查看系统相关信息, 可以看到这一台阿里云裸金属服务器还是很 Nice,两块 intel 至强 Xeon 物理 CPU ,104 核心,以及 768G 的内存,7T 左右的存储磁盘。

# 系统版本
cat /etc/os-release

# 内存信息
lsmem

# CPU 信息
lscpu

# 磁盘分区信息
lsblk

WeiyiGeek.Kylin Linux V10 Lance安装实践图

至此,在阿里云裸金属服务器上使用 UEFI 模式安装国产化 KylinOS 系统实践完毕,尽情期待后续系统安全加固脚本以及视频。


0x02 基础配置

如何查看 KylinOS 银河麒麟操作系统版本?

描述: 我们可使用如下三种方式(命令)进行对应银河麒麟操作系统版本的查询。

# 方式 1.
$ nkvers
  ############## Kylin Linux Version #################
  Release:
  Kylin Linux Advanced Server release V10 (Lance)

Kernel:
4.19.90-52.15.v2207.ky10.x86_64

Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build20/20221125

# 方式 2.
$ cat /etc/os-release
NAME="Kylin Linux Advanced Server"
VERSION="V10 (Lance)"
ID="kylin"
VERSION_ID="V10"
PRETTY_NAME="Kylin Linux Advanced Server V10 (Lance)"
ANSI_COLOR="0;31"

# 方式 3.
$ cat /etc/.productinfo
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-x86_64-Build20/20221125

# 扩展知识 (提取版本信息):
release=$(grep -e "^VERSION=" /etc/os-release | cut -f 2 -d "=" | tr -d '[:punct:][:space:]')
if [ ${release} == "V10Lance" ];then echo "V10Lance";fi

温馨提示: 当前银河银河麒麟高级服务器操作系统 V10 发行版如下.

  • (Tercel) 版本是 银河麒麟 V10 SP1 版本,
  • (Sword) 版本是 银河麒麟 V10 SP2 版本,
  • (Lance) 版本是 银河麒麟 V10 SP3 版本,

如何给 KylinOS 银河麒麟系统加上自定义登录欢迎语?

描述: 我们可以通过三种方式,让我们在登录服务器时显示文本欢迎语(前两种)或者执行命令显示信息相关信息(后一种)。

# 方式 1. 登录 SSH 前警告 Banner 提示。(文本)
sudo tee /etc/issue.net <<'EOF'
************************* [ 安全登陆 (Security Login) ] *************************
Authorized users only. All activity will be monitored and reported.By Security Center.
Author: WeiyiGeek, Blog: https://www.weiyigeek.top

EOF
cp -a /etc/issue.net /etc/issue

# 方式 2. 本地控制台与 SSH 登录后提示自定义提示信息。(文本)
tee /etc/motd <<'EOF'

Welcome to IT Cloud Computer Service!

               _ooOoo_
              o8888888o
              88<span class="hljs-string">" . "</span>88
              (| -_- |)
              O\  =  /O
           ____/`---<span class="hljs-string">'\____
         .'</span>  \\|     |//  `.
        /  \\|||  :  |||//  \
       /  _||||| -:- |||||-  \
       |   | \\\  -  /// |   |
       | \_|  <span class="hljs-string">''</span>\---/<span class="hljs-string">''</span>  |   |
       \  .-\__  `-`  ___/-. /
     ___`. .<span class="hljs-string">'  /--.--\  `. . __
  ."" '</span>&lt;  `.___\_&lt;|&gt;_/___.<span class="hljs-string">'  &gt;'</span><span class="hljs-string">""</span>.
 | | :  `- \`.;`\ _ /`;.`/ - ` : | |
 \  \ `-.   \_ __\ /__ _/   .-` /  /

======-.____-._/.-____.-<span class="hljs-string">'=======---='

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永不死机
心外无法 法外无心

EOF

# 方式 3. 用户登录自定义登录提示信息(脚本执行)
tee /usr/local/bin/00-custom-header <<'EOF'
#!/bin/bash
# Author: WeiyiGeek, Blog: https://www.weiyigeek.top
# Get last login time
LAST_LOGIN=$(last -n 2 --time-format iso | sed -n '2p;')
LAST_LOGIN_T=$(echo ${LAST_LOGIN} | awk '{print $2}')
LAST_LOGIN_IP=$(echo ${LAST_LOGIN} | awk '{print $3}')
LAST_LOGIN_TIME=$(echo ${LAST_LOGIN} | awk '{print $4}')
LAST_LOGOUT_TIME=$(echo ${LAST_LOGIN} | awk '{print $6}')

# Get load averages
LOAD1=$(grep "" /proc/loadavg | awk '{print $1}')
LOAD5=$(grep "" /proc/loadavg | awk '{print $2}')
LOAD15=$(grep "" /proc/loadavg | awk '{print $3}')

# Get free memory
MEMORY_USED=$(free -t -m | grep "Mem" | awk '{print $3}')
MEMORY_ALL=$(free -t -m | grep "Mem" | awk '{print $2}')
MEMORY_PERCENTAGE=$(free | awk '/Mem/{printf("%.2f%"), $3/$2*100}')

# Get system uptime
UPTIME=$(grep "" /proc/uptime | cut -f1 -d.)
UPTIME_DAYS=$(("${UPTIME}"/60/60/24))
UPTIME_HOURS=$(("${UPTIME}"/60/60%24))
UPTIME_MINS=$(("${UPTIME}"/60%60))
UPTIME_SECS=$(("${UPTIME}"%60))

# Get processes
PROCESS=$(ps -eo user=|sort|uniq -c | awk '{print $2" "$1}')
PROCESS_ALL=$(echo "${PROCESS}" | awk '{print $2}' | awk '{SUM += $1} END {print SUM}')
PROCESS_ROOT=$(echo "${PROCESS}" | grep root | awk '{print $2}')
PROCESS_USER=$(echo "${PROCESS}" | grep -v root | awk '{print $2}' | awk '{SUM += $1} END {print SUM}')

# Get processors
PROCESSOR_NAME=$(grep "model name" /proc/cpuinfo | cut -d ' ' -f3- | awk '{print $0}' | head -1)
PROCESSOR_COUNT=$(grep -ioP 'processor\t:' /proc/cpuinfo | wc -l)

# Colors
G="\033[01;32m"
R="\033[01;31m"
D="\033[39m\033[2m"
N="\033[0m"

echo
echo -e "\e[01;38;44;5m########################## 安全运维 (Security Operation) ############################\e[0m"
echo -e "${G}Login success.${N} Please execute the commands and operation data carefully.By WeiyiGeek."
echo -e "You are logged in to ${G}$(uname -n)${N}, Login time is $(/bin/date "+%Y-%m-%d %H:%M:%S").\n"
echo -e "[System Info]\n"
echo -e " SYSTEM : $(awk -F'[="]+' '/PRETTY_NAME/{print $2}'/etc/os-release)"
echo -e " KERNEL : $(uname -sr)"
echo -e " UPTIME : ${UPTIME_DAYS} days ${UPTIME_HOURS} hours ${UPTIME_MINS} minutes ${UPTIME_SECS} seconds"
echo -e " CPU : ${PROCESSOR_NAME} (${G}${PROCESSOR_COUNT}${N} vCPU)\n"
echo -e " MEMORY : ${MEMORY_USED} MB / ${MEMORY_ALL} MB (${G}${MEMORY_PERCENTAGE}${N} Used)"
echo -e " LOAD AVG : ${G}${LOAD1}${N} (1m), ${G}${LOAD5}${N} (5m), ${G}${LOAD15}${N} (15m)"
echo -e " PROCESSES : ${G}${PROCESS_ROOT}${N} (root), ${G}${PROCESS_USER}${N} (user), ${G}${PROCESS_ALL}${N} (total)"
echo -e " USERS : ${G}$(users | wc -w)${N} users logged in"
echo -e " BASH : ${G}${BASH_VERSION}${N}\n"
EOF

Add motd Execute permissions

chmod +x /usr/local/bin/00-custom-header

Add motd to /etc/profile files.

if [ $(grep -c "00-custom-header" /etc/profile) -eq 0 ];then
echo "/usr/local/bin/00-custom-header" >> /etc/profile
fi


如何给银河麒麟系统更新软件源?

快速配置

# 备份银河麒麟镜像源目录文件
$ cp /etc/yum.repos.d/kylin_x86_64.repo{,.bak}

# 查看官方镜像源文件
$ cat /etc/yum.repos.d/kylin_x86_64.repo

### Kylin Linux Advanced Server 10 - os repo ###
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1

[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1

[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = https://update.cs2c.com.cn/NS/V10/V10SP3/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0

# 配置后需清理缓存及创建新的缓存
yum clean all
yum makecache


0x03 软件安装

如何在银河麒麟操作系统中安装 nfs 服务及客户端?

快速安装

# 查询软件包是否安装
 rpm-qa|grep rpcbind nfs-utils

# 安装 nfs 软件包
dnf install nfs-utils rpcbind

# 防火墙放行设置
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --reload

# 客户端查看服务器端 nfs 共享的文件系统
showmount -e 服务端ip


如何在银河麒麟操作系统中安装 docker ?

快速安装

# 1. 卸载旧版本 
sudo yum remove docker docker-engine docker.io containerd runc

# 2. 安装相关依赖包
sudo dnf install pt-transport-https

# 3. 设置稳定镜像源存储库,此处采用阿里的 docker 源(CentOS8)
# Official
# DOCKER_COMPOSE_MIRRORS='https://github.com'
# DOCKER_CE_MIRRORS='https://download.docker.com'
# DOCKER_MIRRORS='https://docker.io'
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
# 使用 CentOS 8 的源
echo "8" > /etc/yum/vars/centos_version
sed -i 's/$releasever/$centos_version/g' /etc/yum.repos.d/docker-ce.repo

# 4. 查看 Docker 特定的相关版本,使用如下命令列出可用的版本
dnf list docker-ce --showduplicates | sort -r | head -n 2
dnf list docker-ce-cli --showduplicates | sort -r | head -n 2
dnf list containerd.io --showduplicates | sort -r | head -n 2

# 5. 安装 Docker 最新版本,此处我们指定的是最新版本。
# 使用第二列中的版本字符串安装特定的版本,例如:containerd.io.x86_64 1.6.9-3.1.el8 docker-ce-stable
# $sudo apt-get install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
dnf install docker-ce-3:23.0.1-1.el8 docker-ce-cli-1:23.0.1-1.el8 containerd.io-1.6.9-3.1.el8 -y

# 6. 将当前(低)用户加入 docker 用户组然后重新登陆当前用户使得低权限用户
sudo gpasswd -a ${USER} docker

# 7. 配置 docker 后台守护进程
mkdir -vp /etc/docker/
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"data-root":"/var/lib/docker",
"registry-mirrors": ["https://xlx9erfu.mirror.aliyuncs.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"storage-driver": "overlay2",
"log-driver": "json-file",
"log-level": "warn",
"log-opts": {
"max-size": "100m",
"max-file": "10"
},
"live-restore": true,
"dns": ["223.6.6.6","114.114.114.114"],
"insecure-registries": [ "harbor.weiyigeek.top"]
}
EOF

# 8. 自启与启动
sudo systemctl daemon-reload
sudo systemctl enable docker.service
sudo systemctl restart docker.service

# 9. 验证安装的 docker 服务
systemctl status docker.service --no-pager -l
docker info

# 10. 启动一个 hello-world 容器,验证是否正常
docker info
docker run --rm hello-world


如何在银河麒麟操作系统中安装 docker-compose ?

快速安装

#  Setting Docker-Compose MIRRORS
DOCKER_COMPOSE_MIRRORS='https://get.daocloud.io'
# Default New Version v2.16.0 (2023 年 3 月 8 日 18:57:48)
DOCKER_COMPOSE_VERSION=
# Download、Install Docker-Compose
curl -L ${DOCKER_COMPOSE_MIRRORS}/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION:="v2.16.0"}/docker-compose-"$(uname -s)"-"$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# Verify Install
docker-compose version

原文地址: https://blog.weiyigeek.top/2022/7-3-678.html

本文至此完毕,更多技术文章,尽情期待下一章节!

温馨提示:唯一极客技术博客文章在线浏览【极客全栈修炼】小程序上线了,涉及网络安全、系统运维、应用开发、物联网实战、全栈文章,希望和大家一起学习进步,欢迎浏览交流!(希望大家多多提提意见)

微信公众号【WeiyiGeek】-极客全栈修炼小程序

专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 【点个赞、投个币、收个藏、关个注,转个发,留个言】(人间六大情),这将对我的肯定,谢谢!。

帅哥(靓仔)、美女,点个关注后续不迷路

温馨提示: 由于作者水平有限,本章错漏缺点在所难免, 希望读者批评指正,并请在文章末尾留下您宝贵的经验知识,联系邮箱地址 master@weiyigeek.top 或者关注公众号 WeiyiGeek 联系我。