You need to enable JavaScript to run this app. Windows10下openzim/zim-tools Docker执行zimDump报容器未运行错误
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下openzim/zim-tools Docker执行zimDump报容器未运行错误

报错根本原因
  • Docker基础运行机制限制:Docker容器只有当前台绑定的常驻进程处于运行状态时,才会保持运行状态。你创建的eager_nightingale容器启动时,执行的是镜像内置的占位echo欢迎命令,命令执行完成后前台进程直接退出,容器就进入了Exited状态。而docker exec命令的前置要求就是目标容器必须处于运行状态,对已经终止的容器执行exec操作自然会抛出「Container is not running」的错误。
  • 路径逻辑不匹配:就算容器没有提前退出,你直接在容器命令里传入Windows格式的盘符路径(如C:\Users\...),容器内部是Linux文件系统结构,根本无法识别这类路径格式,后续依然会出现找不到源文件、无法写入输出目录的报错。
正确操作流程

这类一次性的命令行工具类镜像,不需要提前创建空容器再用exec塞命令,直接用docker run的方式把工具命令作为容器启动的入口命令执行即可,操作步骤如下:

  • 提前完成本地目录的挂载映射,把Windows本地存放源ZIM文件的目录、导出结果的目标目录,绑定映射到容器内部的Linux格式路径,让容器能直接读写本地文件
  • 一条命令完成全部操作,参考执行格式:
    docker run --rm -v /c/Users/Akira/Downloads/Documents:/input -v /c/Users/Akira/Downloads/zim:/output openzim/zim-tools zimDump -D /output /input/wiktionary_fr_all_maxi_2021-03.zim
    
    各参数说明:
    • --rm:命令执行完毕、容器退出后自动清理临时容器,不会残留已经退出的无用容器占用磁盘空间
    • 两个-v参数:分别把本地存放ZIM源文件的C:\Users\Akira\Downloads\Documents目录、导出结果的C:\Users\Akira\Downloads\zim目录,绑定挂载到容器内部的/input和/output路径下
    • 镜像名后的部分就是要执行的zimDump命令,把原来的Windows路径替换成容器内部映射后的路径即可
  • 命令执行完成后,导出的所有文件会直接保存在本地指定的C:\Users\Akira\Downloads\zim目录下,不需要额外做文件导出操作。

额外注意:openzim/zim-tools这类工具镜像本身没有内置Web服务、后台守护进程类的常驻能力,如果启动容器时没有指定要执行的具体业务命令,容器执行完内置的占位欢迎命令后会立刻退出,不存在可以长期挂起、等着用exec连接的运行态容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 21:15:04