Repository navigation
[Bug]: Unable to pull Docker image or start Docker service #339
Description
Activity
- addedneeds feedbackWaiting for reporter feedback or retest resultsWaiting for reporter feedback or retest results
on Aug 29, 2026 重新打开。这个 bug 在创建后十几秒内、没有任何诊断回复的情况下被标记 completed,处理明显过快。
请补充完整的
docker pull/docker run输出、宿主机架构和 Docker 版本;我们会同时核对文档中镜像仓库与实际可拉取 tag。没有可复现结论或报告者确认前不再关闭。我补做了仓库侧验证,不再只等待截图:
- 对
registry.cn-hangzhou.aliyuncs.com/v2/funasr/sensevoice/manifests/latest发起匿名 registry v2 manifest 请求,registry 返回401 authentication required;按它给出的 auth realm 获取匿名 token 后再次请求仍为401。这说明该latest路径目前不能作为公开免登录镜像使用。 - 当前仓库
README.md(cef383ac)也没有把这个 registry 地址列为官方预构建镜像,而是要求从仓库 Dockerfile 本地构建。 - 当前容器监听/映射端口是
50000,不是 issue 示例里的60001。
当前可执行的官方路径是:
git clone https://github.com/QwenAudio/SenseVoice.git cd SenseVoice docker build -t sensevoice . docker run --gpus all -p 50000:50000 sensevoice # CPU: docker run -e SENSEVOICE_DEVICE=cpu -p 50000:50000 sensevoice
因此这里至少有两个独立问题:旧 registry 镜像并非公开可拉取,以及示例端口与当前服务不一致。issue 继续保持打开;请报告者确认上述本地构建路径是否能启动,并贴出完整输出。若项目后续恢复公开镜像,我们再在 README 中发布经过 manifest/pull 验证的准确 tag,而不是继续引用当前不可匿名访问的
latest。- 对
补充并更正当前容器发布状态:
- docs(container): stop advertising private GHCR pulls #347 已合并到 main(merge commit acedd19)。
- exact-main 的容器 contract 与完整 Docker build 均成功:https://github.com/QwenAudio/SenseVoice/actions/runs/33306076207
- GHCR 已生成 latest / sha-acedd19,但 package API 仍明确报告 visibility=private;从未登录环境请求 ghcr.io/v2/qwenaudio/sensevoice/manifests/latest 仍返回 HTTP 401。
- 因此 README 中此前的匿名 docker pull 指令是不成立的,现已撤下;中英文文档都改为经过 CI 构建验证的本地 docker build -t sensevoice .,GPU/CPU 端口统一为 50000。
- GitHub 当前只在 package Settings 页面提供组织容器 visibility 切换,Packages REST/GraphQL 没有对应写接口;在 package 真正显示 Public 且匿名 manifest 校验通过前,不会再把它宣传为公开镜像。
请先按 README 的本地构建路径复测启动。这个 issue 保持开放:一条线等待你确认本地构建是否可用,另一条线继续处理 GHCR Public 可见性。
- added a commit that references this issue
on Aug 30, 2026 I'll work on this. Could you assign it to me?
I'll fix the docs to match the current code and add a short note so this does not rot again.
Thanks, assigned. Please make the current code and runtime behavior the source of truth: verify the image name, startup command, port, and CPU/GPU boundary from a clean environment. In the docs, distinguish verified paths from unavailable public-image paths. Please include reproducible commands and relevant output or test evidence in the PR. This issue will remain open until the original reporter confirms the documented path.
已合并修复文档入口:main@e8bdeb0(PR #350)。英文、中文、日文现在一致:当前
ghcr.io/qwenaudio/sensevoice包为 private,匿名 pull 会 401;请不要再使用旧的阿里云镜像地址或匿名 GHCR pull。\n\n请从干净目录按当前 main 本地构建并启动:\n\nbash\ngit clone https://github.com/QwenAudio/SenseVoice.git\ncd SenseVoice\ndocker build -t sensevoice .\ndocker run --rm --gpus all -p 50000:50000 -v sensevoice-models:/models sensevoice\n\n\nCPU 环境请把--gpus all替换为-e SENSEVOICE_DEVICE=cpu。容器 healthy 后打开http://127.0.0.1:50000/docs。容器构建 contract 与 GitHub Docker build 均已在 PR head 通过。\n\n此 issue 保持 open,等待你按以上 exact main 命令的实际复测结果;若仍失败,请贴完整docker build/docker run输出、Docker 版本和 GPU/CPU 环境。PR is up: #351
I re-checked from a clean amd64 box (Docker 28.2.2). Anonymous pulls are still 401 for both
registry.cn-hangzhou.aliyuncs.com/funasr/sensevoice:latestandghcr.io/qwenaudio/sensevoice:latest. Those paths stay undocumented.What was still wrong on current main, after #347 / #350:
- English GPU
docker rundropped the model volume and--rm, so it did not match the command you posted. docker-compose.yamlreserved every GPU, sodocker compose up --buildfails on a host without NVIDIA.- The image default
SENSEVOICE_DEVICE=autowas passed straight into FunASR. That is not a device string and is the CPU start path.
The PR aligns the English/CONTRIBUTING run lines with the verified zh/ja command, makes compose start without a GPU reservation, and maps
autotocuda:0orcpu. Contract tests pin that so the docs cannot drift back to Aliyun / anonymous GHCR / port 60001.Verified local path, same as your last note:
git clone https://github.com/QwenAudio/SenseVoice.git cd SenseVoice docker build -t sensevoice . docker run --rm --gpus all -p 50000:50000 -v sensevoice-models:/models sensevoice
CPU: drop
--gpus alland add-e SENSEVOICE_DEVICE=cpu. Thenhttp://127.0.0.1:50000/docs.@YuLianga if you can run that and paste
docker build/docker runoutput, we will know whether the original start failure is gone. I would keep this issue open until then.- English GPU
Update: #351 is now merged in main at
7b402c8910700105097c203f5b38dfe049d698dd. The exact-main local-build route now also resolves the image defaultSENSEVOICE_DEVICE=autotocuda:0when CUDA is available orcpuotherwise, anddocker compose up --buildno longer requires an NVIDIA runtime.The focused container/device contract suite passed on the merged PR head. Public GHCR and the retired Aliyun image path still return anonymous 401, so this does not claim that
docker pullis fixed. This issue remains open for your clean-environment retest with the current main commands and logs if it still fails.Thanks for merging the PR. I'll retest the local build path on a clean environment using the updated main commands. I'll share the logs if I encounter any issues.
Notice: In order to resolve issues more efficiently, please raise issue following the template.
(注意:为了更加高效率解决您遇到的问题,请按照模板提问,补充细节)
🐛 Bug
Unable to pull the Docker image or start the Docker container service for SenseVoice.
To Reproduce
Steps to reproduce the behavior (always include the command you ran):
docker pull registry.cn-hangzhou.aliyuncs.com/funasr/sensevoice:latest # or docker run -d -p 60001:60001 registry.cn-hangzhou.aliyuncs.com/funasr/sensevoice:latest