You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义开发板执行docker ps命令出现404错误的解决办法

解决Docker docker ps返回404 Page Not Found错误的方法

针对你在salvator-x开发板上遇到的这个问题,结合自定义Docker构建环境的背景,我整理了几个实用的排查和修复方向:

1. 检查Docker Daemon与Client的版本兼容性

自定义构建环境很容易出现daemon和client版本不匹配的情况,这是触发404错误的常见原因:

  • 执行 docker version 查看client和daemon的版本信息,如果两者版本差异过大(比如跨了大版本),重新构建时要确保两者使用同一版本的源码或依赖包。
  • 如果daemon没正常启动,docker version 只会显示client版本,这时候需要进一步排查daemon的运行状态。

2. 验证Docker Daemon的运行状态与日志

  • 用 systemctl status docker(systemd管理环境)或者 service docker status 查看daemon是否在运行。如果未启动,尝试 systemctl start docker 启动,观察是否有报错。
  • 查看daemon日志:执行 journalctl -u docker(systemd环境)或者直接查看 /var/log/docker.log,里面会记录daemon启动失败或运行异常的详细信息,比如组件加载失败、配置文件错误等。

3. 排查Iptables与网络配置问题

从你提供的audit日志来看,存在iptables操作记录,Docker依赖iptables管理网络规则,这部分异常也可能导致daemon响应异常:

  • 检查iptables的nat表状态:执行 iptables -t nat -L,确认是否有Docker相关的链(比如DOCKER、DOCKER-USER)存在。如果缺失,可能是自定义构建的Docker未正确集成iptables支持,或者daemon启动时未初始化这些规则。
  • 临时测试:尝试用 dockerd --iptables=false 启动daemon,再执行 docker ps。如果此时正常,说明是iptables规则初始化的问题,需要确保开发板上的iptables版本与Docker兼容,或者在构建Docker时开启正确的网络支持模块。

4. 检查自定义Docker构建的完整性

因为是自定义构建环境,可能存在组件缺失:

  • 确认构建Docker时是否包含了完整的CLI和daemon组件,尤其是API Server部分(404错误通常是client请求的API端点在daemon上不存在,大概率是API Server未正确编译或启动)。
  • 检查Docker配置文件 /etc/docker/daemon.json,如果有自定义配置,尝试注释掉所有配置项,重启daemon后测试docker ps,排除配置错误导致的问题。

5. 验证Docker Socket的权限与路径

  • 检查 /var/run/docker.sock 的权限:执行 ls -l /var/run/docker.sock,确保root用户或docker组有读写权限。如果权限不对,可以临时执行 chmod 666 /var/run/docker.sock 测试(生产环境建议通过docker组管理权限)。
  • 强制指定socket路径测试:执行 docker -H unix:///var/run/docker.sock ps,确认client是否能连接到正确的socket,排除socket路径配置错误的问题。

内容的提问来源于stack exchange,提问作者Sreejin K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 05:02:33