准备工作
1、准备一台刚刚创建的 openeuler24.09 lxc 虚拟机
2、使用 dnf 更新到最新,安装常用 工具
dnf update -y
dnf install vim net-tools wget
3、设置 ssh
由于ssh 与通常网上教程大同小异,在此我们就略过。
从下图我们可以看到 openeuler24.09 已经远程连接上。
安装 Docker
1、从Docker的存储库中安装(https://docs.docker.com/engine/install/centos/#install-using-the-repository)
因为需要用到yum-config-manager工具,所以需要安装yum-utils包。之后使用 yum-config-manager 添加docker-ce的软件仓库
sudo yum install -y yum-utils
发现软件仓库里找不到这个包,那好吧,我们就来添加华为云开源镜像站的镜像,网上很多教程也都是想办法配置 docker 源,其实根本就不需要配置,你也可以安装成功,接着往下看。
2、安装 Docker 引擎相关组件出现故障
执行以下 dnf 命令来安装 Docker:
dnf install docker-ce docker-ce-cli containerd.io
执行结果为:
[root@openeuler24 ~]# dnf install docker-ce docker-ce-cli containerd.io
Last metadata expiration check: 0:05:05 ago on Mon Dec 16 12:50:29 2024.
No match for argument: docker-ce
No match for argument: docker-ce-cli
No match for argument: containerd.io
Error: Unable to find a match: docker-ce docker-ce-cli containerd.io
[root@openeuler24 ~]#
可以看出:在 OpenEuler 24.09 系统中执行dnf install docker-ce docker-ce-cli containerd.io出现No match for argument错误,是因为默认的软件源中没有包含这些 Docker 相关的软件包。【到这里很多文章都认为需要配置 Docker 软件源,然后更改为国内其它软件源,其实这一步大可不必。
3、清除 dnf 缓存并更新并安装 docker
安装 docker 之前,需要先清除 dnf 原有的缓存信息,再更新 dnf 的元数据缓存。
sudo dnf clean all
sudo dnf makecache
验证源配置 docker 是否可用
如果你查看 openEuler.repo 你会发现openEuler.repo 文件中已经有许多扩展 dnf 源。
[root@openeuler24 yum.repos.d]# dnf clean all
0 files removed
[root@openeuler24 yum.repos.d]# dnf makecache
OS 477 kB/s | 2.9 MB 00:06
everything 374 kB/s | 16 MB 00:44
EPOL 385 kB/s | 4.9 MB 00:13
debuginfo 472 kB/s | 4.5 MB 00:09
source 595 kB/s | 1.7 MB 00:02
update 566 B/s | 257 B 00:00
update-source 514 B/s | 257 B 00:00
Last metadata expiration check: 0:00:01 ago on Mon Dec 16 13:11:32 2024.
Metadata cache created.
[root@openeuler24 yum.repos.d]#
可以尝试使用 dnf 命令去搜索或安装一个 docker 软件包,看看能否正常从配置的源获取相关信息,例如:
sudo dnf search docker
如果能够正常列出 docker 相关的软件包信息,那就说明配置的 openEuler.repo 软件源已经包含 docker 安装包了,因此 docker 可以正常安装使用了。
[root@openeuler24 yum.repos.d]# sudo dnf search docker
Last metadata expiration check: 0:01:20 ago on Mon Dec 16 13:11:32 2024.
================================================================================ Name Exactly Matched: docker =================================================================================
docker.x86_64 : The open-source application container engine
docker.src : The open-source application container engine
================================================================