I'm on Windows, I try to run label-studio on a docker-img and enable automatic annotations with a tesseract machine learning model provided from label-studio-ml-backend on another docker-img. (I'm discovering docker these days...)
So far I was able to launch a docker with label-studio, and a docker with tesseract:
# Run the label-studio
docker run --name lbl-studio -it -p 8080:8080 -v label-studio-data:/label-studio/data/ heartexlabs/label-studio:latest label-studio
# DL and run tesseract image
git clone https://github.com/heartexlabs/label-studio-ml-backend
cd label-studio-ml-backend/label_studio_ml/examples/tesseract/
docker-compose up
At this point I have 2 images running on docker (or 3/4, I don't really know how to interpret the 'tesseract' image)
Here are some network info I could gather, I don't know how bas is the fact that lbl-studio is on 172.17 and the two others on 172.18...
# Get ips of images
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' server # 172.18.0.3
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' redis # 172.18.0.2
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' lbl-studio # 172.17.0.2
# server: 172.18.0.3
# redis: 172.18.0.2
# lbl-studio: 172.17.0.2
so far redis can ping server but can't ping lbl-studio
But, when I go to http://127.0.0.1:8080/, create a project, and try to link the machine learning wizard (http://127.0.0.1:8080/projects/1/settings/ml > add model), I'm not able to connect the tesseract server to the lbl-studio.
The urls I tried to connect are:
I tried to dig deepper and ping the server from lbl-studio, but nothing happened
docker exec -it --user root lbl-studio /bin/bash
apt update
apt install iputils-ping
ping 127.18.0.3 # Nothing happening: 100% packet loss ;)
How can I connect lbl-studio to the server ?
Thank you for your help :)
Add lbl-studio
to tesseract's docker-compose file as third service. For connect from computer to services use http://127.0.0.1:9090 and http://127.0.0.1:9090. To connect between tesseract
and lbl-studio
use services name: http://lbl-studio:8080 and http://server:9090. Example:
version: "3.8"
services:
redis:
image: redis:alpine
container_name: redis
hostname: redis
volumes:
- "./data/redis:/data"
expose:
- 6379
server:
container_name: server
build: .
environment:
- MODEL_DIR=/data/models
- RQ_QUEUE_NAME=default
- REDIS_HOST=redis
- REDIS_PORT=6379
ports:
- 9090:9090
depends_on:
- redis
links:
- redis
volumes:
- "./data/server:/data"
- "./logs:/tmp"
lbl-studio:
image: heartexlabs/label-studio:latest
ports:
- 8080:8080
volumes:
- label-studio-data:/label-studio/data/
volumes:
label-studio-data: