安装docker失败记录

系统信息:

Linux 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux

按官方Debian 安装方法

这里写图片描述

在第二步出现

docker-engine : Depends: init-system-helpers (>= 1.18~) but it is not installable
Recommends: aufs-tools but it is not going to be installed
Recommends: cgroupfs-mount but it is not installable or
cgroup-lite but it is not installable
E: Unable to correct problems, you have held broken packages.

解决方法

wget http://launchpadlibrarian.net/173841617/init-system-helpers_1.18_all.deb
dpkg -i init-system-helpers_1.18_all.deb

docker 版本信息

Docker version 1.11.1, build 5604cbe

在第四步,出现:

docker: Error response from daemon: rpc error: code = 2 desc = “shim error: invalid argument”.

google下,结果并不多:
这里写图片描述

在这个页面中,https://github.com/docker/docker/issues/22037 也有人有相同的问题。

We didn’t drop support for 3.2 as this kernel was never supported: it just happens that 1.11 is the first “obviously” incompatible release. @crosbymichael confirmed that this is due to containerd-shim usage of PR_SET_CHILD_SUBREAPER (introduced in 3.4).

这里写图片描述

就是没有对3.2放弃支持,但它是一个明显不兼容的版本。所以建议你升级系统内核。然后关了这个主题。

但安装指南上没说3.2不兼容。所以搞不懂了。

这里写图片描述

记录下来,也让越到相同问题的人少走些弯路。

### 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值