如果你在龙芯 3B6000 上跑 AnolisOS 23.4,并且直接用系统默认仓库装了 Docker,大概率会遇到一个经典问题:docker run命令报错,容器死活创建不起来。错误信息里会提到seccomp和unrecognized architecture 0xc0000102,这通常不是你的操作问题,而是 AnolisOS 仓库里的 Docker 版本与龙芯架构(loong64)的兼容性没完全对齐导致的。这个问题最直接的影响是,你无法正常使用 Docker 来运行任何镜像,无论是测试还是部署都会卡在第一步。但别急着重装系统或者放弃,这其实是一个有明确解决方案的“环境适配”问题。下面我会把从问题定位到彻底解决的完整路径拆开讲清楚,包括临时测试方法和永久修复方案,确保你在龙芯平台上也能稳定地用上 Docker。1. 先确认问题根源:为什么默认仓库的 Docker 会出问题很多人一看到报错,第一反应是去查 Docker 命令或者镜像,但在这个特定组合(龙芯 3B6000 + AnolisOS 23.4)下,问题往往出在更底层。1.1 环境与现象复现首先,确认你的基础环境。在终端执行以下命令,输出应该类似:# 查看系统版本 cat /etc/os-release # 查看内核与架构 uname -a # 查看 Docker 版本(如果已安装) docker info | grep "Server Version"在典型的出问题环境中,你会看到:系统:Anolis OS 23.4架构:loongarch64(也就是常说的 loong64)Docker 版本: 通过yum install docker安装的,很可能是24.0.9或相近版本。当你尝试运行一个最简单的容器时,比如龙芯生态的 Debian 镜像,就会触发错误:docker run -itd --name test-debian lcr.loongnix.cn/debian:14错误信息的关键部分通常是:docker: Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error loading seccomp filter into kernel: error patching filter: error generating patch for filter: error finding last syscalls for -ENOSYS stub: unable to get native arch: unrecognized architecture 0xc0000102: unknown.这段报错的核心是seccomp(安全计算模式)无法识别当前系统的架构标识。seccomp是 Linux 内核的一个安全特性,Docker 用它来限制容器内进程可以执行的系统调用。Docker 的seccomp配置文件里有一个架构白名单,如果它不认识你的 CPU 架构,就会拒绝加载过滤规则,导致容器启动失败。1.2 为什么 AnolisOS 仓库的 Docker 会有这个问题这涉及到软件包的来源和适配节奏:AnolisOS 官方仓库的 Docker:AnolisOS(龙蜥)是一个社区发行版,其官方仓库会收录许多软件包。这里的 Docker 包可能是由社区维护者打包的,版本可能稍旧(例如搜索材料中提到的 24.0.9),并且其seccomp配置可能没有及时更新以完全适配loongarch64架构的所有内核特性或标识符。Docker 官方与架构支持:Docker 官方发布的二进制包和 RPM 包,主要面向 x86_64、arm64 等主流架构。对于龙芯的loongarch64架构,官方并未提供预编译的 Docker 包。因此,在龙芯平台上,我们需要依赖社区(如kubernetes-loong64组织)专门为龙芯架构编译的版本。版本滞后与配置差异:AnolisOS 仓库里的 Docker 24.0.9 是一个比较旧的版本(对比 Docker 官方在 2026 年已发布 29.x 版本)。旧版本的内置seccomp配置可能没有包含对loongarch64架构的完整支持,或者其使用的runc(容器运行时)版本也存在兼容性问题。所以,问题的本质不是 Docker 不能用,而是当前安装的这个特定版本的 Docker,其安全模块与你的龙芯 3B6000 内核之间出现了“识别”断层。解决思路就很明确了:要么绕过这个安全模块(临时方案),要么换用为龙芯架构正确适配的 Docker 版本(永久方案)。2. 临时解决方案:快速验证环境与镜像在寻找永久方案之前,或者你只是需要临时跑一个容器完成测试,可以使用一个参数来绕过seccomp检查。2.1 使用--security-opt seccomp=unconfined在docker run命令中增加--security-opt seccomp=unconfined参数,这告诉 Docker 不要为这个容器加载任何seccomp过滤器。docker run -itd --name debian-14 --security-opt seccomp=unconfined lcr.loongnix.cn/debian:14执行后,你应该能看到容器成功创建并运行:docker ps -a | grep debian-14如果状态是Up,说明容器已经跑起来了。你可以进入容器验证:docker exec -it debian-14 bash cat /etc/os-release2.2 临时方案的局限性这个方案仅适用于临时测试和验证,不推荐用于生产环境或长期使用,原因如下: