如何在Fedora 28上安装Docker-ce?官网步骤无效提示‘Nothing to be done’
在Fedora 28上安装Docker CE解决"Nothing to be done"问题
我之前在Fedora 28上部署Docker CE的时候,也碰到过和你一样的烦人的问题——照着官网步骤操作,结果弹出「Nothing to be done」的提示,完全没办法完成安装。折腾了一阵后终于找到适配Fedora 28的有效步骤,亲测可用,分享给你:
1. 清理旧版Docker残留
首先卸载系统中可能存在的旧版Docker相关包,避免冲突:
sudo dnf remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
2. 安装仓库依赖工具
安装dnf-plugins-core,用来添加HTTPS格式的软件仓库:
sudo dnf install -y dnf-plugins-core
3. 添加Docker官方仓库并适配Fedora 28
添加Docker官方仓库后,需要手动修改仓库配置文件——因为Fedora 28已经停止官方支持,默认的仓库配置会使用系统的$releasever变量拉取源,但对应的源已经被归档,所以要把变量替换成具体的版本号28:
# 添加Docker官方仓库 sudo dnf config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo # 替换仓库配置中的版本变量为28 sudo sed -i 's/$releasever/28/g' /etc/yum.repos.d/docker-ce.repo
4. 安装Docker CE及组件
现在可以正常安装Docker CE、CLI工具和容器运行时了:
sudo dnf install docker-ce docker-ce-cli containerd.io
如果安装时提示找不到包,可以先查看可用的Docker版本:
dnf list docker-ce --showduplicates | sort -r
然后选择一个适配的版本安装,比如替换<VERSION_STRING>为实际的版本号:
sudo dnf install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
5. 启动并验证Docker
安装完成后,启动Docker服务并设置开机自启:
# 启动Docker sudo systemctl start docker # 设置开机自动启动 sudo systemctl enable docker
最后运行测试容器验证安装是否成功:
sudo docker run hello-world
如果能看到Docker的欢迎信息,说明安装已经成功了。
为什么官网步骤失效?
Fedora 28属于已终止支持的旧版本,Docker官方的默认仓库配置会根据系统的$releasever变量自动匹配对应版本的源,但这些旧版本的源已经被归档或移除,导致系统找不到可安装的包,从而出现「Nothing to be done」的提示。手动替换版本号为28后,就能正确拉取适配Fedora 28的Docker包源了。
内容的提问来源于stack exchange,提问作者Sagi Forbes
相关产品推荐
相关产品推荐

