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

Windows环境下Docker部署Label Studio与Tesseract ML后端连接问题

问题:Docker中Label Studio无法连接Tesseract ML后端

环境与部署情况

  • 系统:Windows
  • 已成功启动Label Studio容器和Tesseract相关容器,启动命令如下:
# 启动Label Studio
docker run --name lbl-studio -it -p 8080:8080 -v label-studio-data:/label-studio/data/ heartexlabs/label-studio:latest label-studio

# 启动Tesseract ML后端
git clone https://github.com/heartexlabs/label-studio-ml-backend
cd label-studio-ml-backend/label_studio_ml/examples/tesseract/
docker-compose up

网络信息

容器分属不同Docker网段,无法互通:

# 获取容器IP
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' server # 172.18.0.3(Tesseract后端服务)
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis  # 172.18.0.2(Tesseract配套Redis)
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' lbl-studio  # 172.17.0.2(Label Studio)
  • Redis可ping通同网段的server,但无法跨网段ping通lbl-studio
  • 从lbl-studio容器内ping server无响应(100%丢包)

当前问题

在Label Studio页面(http://127.0.0.1:8080/)创建项目后,添加机器学习模型时无法连接Tesseract服务器,尝试过的地址:

  • http://127.0.0.1:9090/
  • http://172.18.0.3:9090/

解决方案

方法1:将Label Studio加入Tesseract后端的Docker网络

  1. 查看Tesseract后端使用的网络名称:
docker network ls
# 或通过容器信息确认:docker inspect server | grep -i network
# 通常docker-compose创建的网络名为`label-studio-ml-backend_label-studio-ml`
  1. 停止并重新启动Label Studio,加入目标网络(替换<tesseract-network-name>为实际网络名):
docker stop lbl-studio
docker run --name lbl-studio -it -p 8080:8080 -v label-studio-data:/label-studio/data/ --network <tesseract-network-name> heartexlabs/label-studio:latest label-studio
  1. 在Label Studio中添加模型时,使用容器名访问:http://server:9090/(同Docker网络内可直接通过容器名互通)

方法2:创建自定义Docker网络统一管理所有容器

  1. 创建自定义桥接网络:
docker network create label-studio-shared-net
  1. 停止现有容器:
docker stop lbl-studio server redis
  1. 重新启动Label Studio并加入自定义网络:
docker run --name lbl-studio -it -p 8080:8080 -v label-studio-data:/label-studio/data/ --network label-studio-shared-net heartexlabs/label-studio:latest label-studio
  1. 修改Tesseract后端的docker-compose.yml,添加网络配置(与services同级):
networks:
  default:
    external:
      name: label-studio-shared-net
  1. 重新启动Tesseract后端:
cd label-studio-ml-backend/label_studio_ml/examples/tesseract/
docker-compose up -d
  1. 在Label Studio中使用http://server:9090/作为模型地址

方法3:端口映射(临时测试场景)

  1. 修改Tesseract后端的docker-compose.yml,为server服务添加端口映射:
services:
  server:
    # 其他配置不变
    ports:
      - "9090:9090"
  1. 重新启动Tesseract后端:
docker-compose up -d
  1. 在Label Studio中使用宿主机映射地址:http://host.docker.internal:9090/(Windows下Docker支持host.docker.internal访问宿主机)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:32:39