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

Docker环境下Label Studio ML后端无法访问图片路径求助

解决Label Studio-ML后端Docker容器访问Label Studio容器图片的问题

问题根源

Docker容器内的localhost指向容器自身,而非宿主机或其他容器,所以ML后端用localhost:8080访问Label Studio容器会被拒绝。核心解决思路是让两个容器处于同一Docker网络,使用容器名称作为访问地址。

具体解决方案

1. 创建共享Docker网络

先为两个容器创建专属共享网络,确保它们能互相发现:

docker network create label-studio-shared-net

2. 重新启动容器并加入共享网络

  • Label Studio容器启动命令示例(调整挂载目录和端口为你的实际配置):
docker run -d --name label-studio --network label-studio-shared-net -p 8080:8080 -v ./local-label-studio-data:/data heartexlabs/label-studio:latest
  • Label Studio ML后端容器启动命令示例:
docker run -d --name label-studio-ml --network label-studio-shared-net -p 9090:9090 -v ./local-ml-data:/data heartexlabs/label-studio-ml-backend:latest

3. 修正ML后端访问Label Studio的地址

将ML后端配置中访问Label Studio的地址从localhost:8080改为Label Studio的容器名称(如上述的label-studio),即http://label-studio:8080。

如果是通过环境变量配置,启动ML后端时添加参数:

docker run -d --name label-studio-ml --network label-studio-shared-net -e LABEL_STUDIO_URL=http://label-studio:8080 -p 9090:9090 -v ./local-ml-data:/data heartexlabs/label-studio-ml-backend:latest

4. 验证网络连通性

进入ML后端容器,测试能否访问目标图片:

docker exec -it label-studio-ml curl http://label-studio:8080/data/upload/1/0c8720ce-0f29e9df11dbc1cce55cb3529517dcd5.jpg

若能正常返回图片内容,说明网络配置生效。

备选方案:直接共享文件挂载

如果ML后端需要直接读取文件而非通过API,可将Label Studio的/data目录同步挂载到ML后端容器:

docker run -d --name label-studio-ml --network label-studio-shared-net -e LABEL_STUDIO_URL=http://label-studio:8080 -p 9090:9090 -v ./local-label-studio-data:/label-studio-data heartexlabs/label-studio-ml-backend:latest

之后在ML后端代码中调整文件路径为/label-studio-data/upload/...即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 20:20:23