安装https://www.cnblogs.com/sowler/p/18228732这个步骤安装,启动失败

sudo systemctl start docker

查看状态

leoliu@bogon:~$ sudo systemctl status docker
× docker.service - Docker Application Container Engine
     Loaded: loaded (/etc/systemd/system/docker.service; disabled; preset: enabled)
     Active: failed (Result: exit-code) since Wed 2025-03-05 11:32:59 CST; 2min 51s ago
       Docs: https://docs.docker.com
    Process: 55279 ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock --selinux-enabled=false --default-ulimit n>
   Main PID: 55279 (code=exited, status=1/FAILURE)
        CPU: 327ms

Mar 05 11:32:59 bogon systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Mar 05 11:32:59 bogon systemd[1]: docker.service: Failed with result 'exit-code'.
Mar 05 11:32:59 bogon systemd[1]: Failed to start docker.service - Docker Application Container Engine.
Mar 05 11:32:59 bogon systemd[1]: docker.service: Scheduled restart job, restart counter is at 3.
Mar 05 11:32:59 bogon systemd[1]: Stopped docker.service - Docker Application Container Engine.
Mar 05 11:32:59 bogon systemd[1]: docker.service: Start request repeated too quickly.
Mar 05 11:32:59 bogon systemd[1]: docker.service: Failed with result 'exit-code'.
Mar 05 11:32:59 bogon systemd[1]: Failed to start docker.service - Docker Application Container Engine.

然后通过 sudo journalctl -u docker.service查看详细日志, 我安装步骤3操作了一遍问题就解决了 !!!!!!!!!!!

Mar 03 17:31:31 bogon dockerd[51559]: time="2025-03-03T17:31:31.511018337+08:00" level=info msg="stopping healthcheck following graceful shutdown" module=libcontainerd
Mar 03 17:31:31 bogon dockerd[51559]: time="2025-03-03T17:31:31.511046392+08:00" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=>
Mar 03 17:31:32 bogon dockerd[51559]: failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOC>
Mar 03 17:31:32 bogon systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Mar 03 17:31:32 bogon systemd[1]: docker.service: Failed with result 'exit-code'.
Mar 03 17:31:32 bogon systemd[1]: Failed to start docker.service - Docker Application Container Engine.
Mar 03 17:31:32 bogon systemd[1]: docker.service: Scheduled restart job, restart counter is at 1.
Mar 03 17:31:32 bogon systemd[1]: Stopped docker.service - Docker Application Container Engine.
Mar 03 17:31:32 bogon systemd[1]: Starting docker.service - Docker Application Container Engine...

通过豆包咨询了** failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain DOC>**

豆包给出的建议

当你在启动 Docker 守护进程时遇到 failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to register "bridge" driver: failed to create NAT chain 错误,这通常是由于 Docker 网络配置方面的问题,尤其是与 iptables 相关的 NAT 链创建失败导致的。以下是一些可能的解决办法:
1. 检查 iptables 状态
iptables 是 Linux 系统中用于管理网络规则的工具,Docker 在启动时会依赖它来创建必要的网络规则和 NAT 链。
查看 iptables 规则
bash
sudo iptables -L -n -v
此命令会列出当前的 iptables 规则,确保没有异常的规则阻止 Docker 创建 NAT 链。
重启 iptables 服务
某些情况下,重启 iptables 服务可以解决一些临时的配置问题。不过,不同 Linux 发行版中 iptables 服务的管理方式可能不同:
CentOS/RHEL 系统:
bash
sudo systemctl restart iptables
Debian/Ubuntu 系统:如果使用的是 iptables-persistent 来管理规则,可以尝试重启它:
bash
sudo systemctl restart netfilter-persistent
2. 清除 iptables 规则
如果 iptables 规则存在冲突或损坏,清除所有规则并重新加载可能会解决问题。
备份现有规则
在清除规则之前,建议先备份现有的 iptables 规则:
bash
sudo iptables-save > iptables.backup
清除规则
bash
sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
重启 Docker 服务
bash
sudo systemctl restart docker
3. 检查内核模块
Docker 的网络功能依赖于一些内核模块,确保这些模块已正确加载。
检查 br_netfilter 模块
bash
lsmod | grep br_netfilter
如果没有输出,说明该模块未加载,可以使用以下命令加载:
bash
sudo modprobe br_netfilter
为了让系统在启动时自动加载该模块,可以创建一个配置文件:
bash
echo "br_netfilter" | sudo tee /etc/modules-load.d/br_netfilter.conf
检查 ip_tables 和 iptable_nat 模块
同样使用 lsmod 命令检查这两个模块是否已加载:
bash
lsmod | grep ip_tables
lsmod | grep iptable_nat
如果未加载,可以使用 modprobe 命令加载:
bash
sudo modprobe ip_tables
sudo modprobe iptable_nat
4. 检查 SELinux 或 AppArmor 状态
SELinux(Security-Enhanced Linux)和 AppArmor 是 Linux 系统中的安全机制,它们可能会限制 Docker 的网络操作。
临时禁用 SELinux
bash
sudo setenforce 0

这只是临时禁用 SELinux,重启系统后会恢复到原来的状态。如果禁用 SELinux 后 Docker 可以正常启动,说明 SELinux 可能是问题所在,你可以考虑调整 SELinux 的策略。
临时禁用 AppArmor
bash
sudo systemctl stop apparmor
sudo systemctl disable apparmor

同样,这只是临时禁用 AppArmor,重启系统后需要重新执行上述命令来禁用它。
5. 重新安装 Docker
如果以上方法都无法解决问题,可以尝试卸载并重新安装 Docker。
卸载 Docker
bash
sudo apt-get purge docker-ce docker-ce-cli containerd.io  # 对于 Debian/Ubuntu 系统
sudo yum remove docker-ce docker-ce-cli containerd.io  # 对于 CentOS/RHEL 系统

重新安装 Docker
按照 Docker 官方文档的指引,重新安装 Docker。
通过以上步骤,你应该能够解决 Docker 启动时创建 NAT 链失败的问题。如果问题仍然存在,建议查看系统日志以获取更多详细信息。
posted @ 2025-03-05 11:52 拜雨 阅读(14) 评论(0) 推荐(0) 编辑
摘要: UIAbility启动模式 什么是UIAbility? UIAbility组件是一种包含UI的应用组件,主要用于和用户交互 。它是HarmonyOS中用于系统调度的基本单元,为应用提供绘制界面的窗口。 其他官方专业数据就不赘述了,简单将就是手机应用里的一个UI窗口。这个类比Android里的Acti 阅读全文 »
posted @ 2025-02-24 14:28 拜雨 阅读(7) 评论(0) 推荐(0) 编辑
摘要: UIAbility生命周期 什么是UIAbility? UIAbility组件是一种包含UI的应用组件,主要用于和用户交互 。它是HarmonyOS中用于系统调度的基本单元,为应用提供绘制界面的窗口。 其他官方专业数据就不赘述了,简单将就是手机应用里的一个UI窗口。这个类比Android里的Acti 阅读全文 »
posted @ 2025-02-21 16:59 拜雨 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 如何在Kotlinx序列化中对BigDecimal和BigInteger进行JSON编码而不损失精度? 按着这里大佬的回答可以解决。但是有一点需要注意 我使用最新的kotlinx-serialization-json 1.8.0, idea在编译时候private object BigDecimal 阅读全文 »
posted @ 2025-01-17 14:31 拜雨 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 我在Android8.0上增加的截屏功能,也声明了响应权限,但是在Android11上就报权限错误。原来在Android10以后启动前台服务时候有第三个参数。 低版本我们调用 public final void startForeground(int id, Notification notific 阅读全文 »
posted @ 2024-12-10 11:27 拜雨 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 常量定义 在HarmonyOS中我们如果定义常量,可以创建常量类并导出,通过static readonly修饰。 export class ApiConst{ /** * api根路径 */ static readonly BASE_API: string = "http://192.168.100 阅读全文 »
posted @ 2024-12-09 16:48 拜雨 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 预览 Harmony开发和Compose类似,在组件上增加@Preview后则可以在预览面板上看到UI效果。 组件预览 我们新建一个组件,该组件仅展示一个文本内容。 @Component export struct HelloComponent { @State message: string = 阅读全文 »
posted @ 2024-11-27 16:33 拜雨 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 应用基本信息 我们先来看下harmony的工程结构中的文件 主要涉及以下几个目录 AppScope > app.json5:应用的全局配置信息,详见app.json5配置文件。 entry:HarmonyOS工程模块,编译构建生成一个HAP包。 src > main > ets:用于存放ArkTS源 阅读全文 »
posted @ 2024-11-27 14:03 拜雨 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1. Failed to get the device apiVersion 电脑长时间没关机,一直开着idea和模拟器,第三天运行时候就提示这个错误,无法安装。可以重启下hdc服务即可 hdc kill -r hdc start -r 2. DevEco Studio 无法连接真机 这个问题有很多 阅读全文 »
posted @ 2024-11-21 17:15 拜雨 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 我在做Android开发时候使用到了百度人脸离线识别,需要依赖百度的库。他们的库是区分芯片的,而我们的产品既有高通的也有RK的,所以在我封装百度人脸时候会配置两个风味,例如下面: flavorDimensions = ['chip'] productFlavors { RkChip { dimens 阅读全文 »
posted @ 2024-11-20 11:30 拜雨 阅读(12) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示