步骤 1:使用正确的 DNF 5 命令添加仓库
请在终端中执行以下新命令:
sudo dnf config-manager addrepo --from-repofile=https://mirrors.aliyun.com/docker-ce/linux/fedora/docker-ce.repo
sudo dnf config-manager: 调用配置管理工具。addrepo: 这是 DNF 5 中用于添加仓库的子命令。--from-repofile=URL: 指定从哪个仓库配置文件(URL)来添加。
步骤 2:清理缓存并重新安装 Docker
仓库添加成功后,接下来的步骤就和之前一样了:
# 清理并重建缓存 sudo dnf clean all sudo dnf makecache # 安装 Docker sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
为什么之前的 --add-repo 不行?
简单来说,这是 DNF 包管理器的一次重要升级。你可以把它理解为:
DNF 4 (Fedora 40及更早版本): 使用
dnf config-manager --add-repo=仓库URL。DNF 5 (Fedora 41及更新版本): 命令更新为
dnf config-manager addrepo --from-repofile=仓库URL。
你的 Fedora 43 系统很新,所以必须使用 DNF 5 的新语法。这个变化也体现在其他相关命令上,例如启用仓库的命令也从 --set-enabled 变为了 setopt 仓库ID.enabled=1
安装完后通常要修改为国内的加速源地址
步骤 1:选择并配置镜像加速器
你需要修改 Docker 的配置文件 /etc/docker/daemon.json(如果文件不存在,请手动创建它)。
# 使用 vi 或 nano 等编辑器编辑配置文件 sudo vi /etc/docker/daemon.json
在文件中添加或修改 registry-mirrors 字段,填入一个或多个可用的镜像加速器地址。以下是一些可用的加速器地址,你可以根据情况选择:
阿里云(推荐,需要注册获取专属地址):登录
https://cr.console.aliyun.com获取你的专属加速器地址,速度通常最好 。其他公共加速:社区中也有人分享了一些可用地址,例如
https://docker.1panel.live,https://docker.xuanyuan.me等 。
一个配置示例(假设你选择 DaoCloud 和百度云):
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://mirror.baidubce.com"
]
}步骤 2:重新加载配置并重启 Docker
保存文件后,需要重启 Docker 守护进程才能使配置生效。
bash
# 重新加载系统d配置sudo systemctl daemon-reload# 重启 Docker 服务sudo systemctl restart docker
步骤 3:验证配置
运行以下命令,检查镜像加速器是否配置成功。如果输出中显示了你的加速器地址,就说明配置生效了 。
bash
sudo docker info | grep -A 1 "Registry Mirrors"
步骤 4:再次尝试运行
现在,再次尝试运行 hello-world 镜像:
bash
sudo docker run hello-world
此时应该能够顺利拉取并运行了。