Ubuntu系统Docker安装失败

 问题:

1. 删除错误的 Docker 源

sudo rm -rf /etc/apt/sources.list.d/docker.list
sudo rm -rf /etc/apt/keyrings/docker.gpg

 2. 重新添加 Docker 官方 GPG 密钥

​
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

确认密钥是否正确存入:

ls -l /etc/apt/keyrings/docker.gpg

如果文件存在,继续下一步。

3. 重新添加 Docker 源

​echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

确认 docker.list 是否正确创建:

ls -l /etc/apt/sources.list.d/docker.list

如果文件存在,继续下一步。

4. 更新软件包

sudo apt update

这一步如果还是报 GPG 错误,执行:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8

然后再次运行:

sudo apt update

5. 安装 Docker

如果 apt update 没问题了,继续安装:

sudo apt install -y docker-ce docker-ce-cli containerd.io

🔹 检查安装是否成功

docker --version

6. 启动 Docker 并设置开机自启

sudo systemctl start docker
sudo systemctl enable docker

### Ubuntu Docker 安装后启动失败的解决方案 #### 配置文件问题 Docker 的守护进程配置文件 `daemon.json` 如果存在语法错误或其他不兼容设置,可能会导致服务无法正常启动。建议检查 `/etc/docker/daemon.json` 文件的内容是否存在多余的逗号、括号未闭合等问题[^1]。 #### 服务状态确认 当遇到 Docker 启动失败的情况时,可以通过以下命令查看服务的状态以及具体的错误信息: ```bash sudo systemctl status docker ``` 此命令会显示最近一次启动尝试的日志记录,帮助定位具体问题所在[^2]。 #### 依赖关系缺失或版本冲突 在某些情况下,由于系统中的软件包过旧或者缺少必要的组件,可能导致 Docker 无法成功初始化。对于基于 Debian 的发行版如 Ubuntu 来说,可以按照官方指南重新安装最新稳定版的 Docker 和它的关联工具链[^3]: ```bash sudo apt update && sudo apt upgrade -y sudo apt install docker-ce docker-ce-cli containerd.io -y ``` 另外需要注意的是,在执行上述操作之前最好先清理掉之前的残留数据以免造成干扰: ```bash sudo apt remove --purge docker* containerd* sudo rm -rf /var/lib/docker ``` #### 密钥验证失败引起的更新障碍 有时因为网络连接不稳定或者其他因素影响到 GPG keys 下载过程,则需要手动获取并导入所需的密钥来完成认证流程[^4]: ```bash curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update ``` 最后再依据前面提到的方法继续完成整个环境部署工作即可恢复正常运作模式。 #### 用户组权限不足 如果发现即使已经解决了以上所有技术层面的问题之后仍然收到关于访问拒绝方面的警告消息的话,请记得把当前登录账户加入到名为 **docker** 的特殊群组当中去以便获得足够的控制权限来进行后续各项测试活动。 ```bash sudo usermod -aG docker $USER newgrp docker ``` 这样就可以无需每次都加上前缀参数 `-H tcp://localhost:2375` 或者切换至超级管理员身份才能调用相关 API 接口函数了。 --- ### 总结 通过逐一排查 daemon 配置有效性、基础运行库完备程度、秘钥合法性校验以及适当调整安全策略等方式能够有效应对大多数场景下的此类异常状况发生概率极大降低下来从而保障业务连续性和稳定性得到显著提升效果明显优于单纯重启机器解决问题效率更高成本更低风险更可控。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李李网工日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值