Linux系统Label-Studio Docker部署全流程

一 拉取 Label-Studio 镜像
docker pull heartexlabs/label-studio:1.11.0  # 拉取官方最新版

docker images  # 验证镜像(应显示heartexlabs/label-studio)

二、Linux 专属容器启动与配置

(一)步骤 1:创建本地数据目录(确保持久化)
# 在当前目录创建mydata(或自定义路径,如/home/xxx/label-studio-data)

mkdir -p $(pwd)/mydata

# 赋予目录权限(容器以UID 1001运行,必须配置)

sudo chown -R 1001:1001 $(pwd)/mydata  # 安全权限(推荐)

# 或简化权限(测试环境可用)

sudo chmod -R 777 $(pwd)/mydata
(二)步骤 2:启动容器(本地访问 / 局域网访问二选一)
1. 本地访问(仅本机 127.0.0.1 可访问)
docker run -itd  -p 2002:8080   -v $(pwd)/mydata:/label-studio/data  --name label-studio --privileged  heartexlabs/label-studio:1.11.0

2. 局域网访问(同一网段设备可访问,如办公电脑 / 服务器)
docker run -itd 

 -p 8080:8080 

 -v $(pwd)/mydata:/label-studio/data 

 -e LABEL_STUDIO_HOST=0.0.0.0   # 监听所有网络接口

 --name label-studio 

 heartexlabs/label-studio:latest
(三)步骤 3:验证容器运行状态
docker ps  # 查看运行中的容器(应显示label-studio,状态Up)

# 若未运行,查看日志排查错误

docker logs label-studio

三、Linux 系统使用流程(实操步骤)

(一)登录系统
  1. 本地访问:浏览器打开 http://127.0.0.1:8080

  2. 局域网访问:浏览器打开 http://[Linux服务器IP]:8080(服务器 IP 通过ip addr查询,如 ens33 网卡的 inet 地址)

  3. 首次访问:注册管理员账号(用户名 + 密码,唯一管理员)

(二)创建标注项目(Linux 本地数据导入示例)
  1. 点击「Create Project」→ 填写项目名称(如「Linux 服务器日志标注」)

  2. 导入本地数据(Linux 服务器文件):

  • 方法 1:浏览器上传(适合小文件):项目页→「Data Import」→「Upload Files」→ 选择 Linux 本地文件(如/home/xxx/data.csv

  • 方法 2:直接挂载目录(推荐大文件):容器已挂载$(pwd)/mydata,将数据复制到该目录即可自动识别:

cp /home/xxx/large_dataset/  $(pwd)/mydata  # 复制数据到挂载目录
  1. 选择标注模板(如文本分类、图像检测)→ 点击「Save」完成创建
(三)标注与导出(Linux 命令行辅助)
  1. 浏览器端标注:进入「Labeling」页面,使用左侧工具完成标注

在这里插入图片描述

  1. 命令行导出(无需打开浏览器):
# 进入容器执行导出命令

docker exec -it label-studio label-studio export /label-studio/data --format COCO --export-path /label-studio/data/exports

# 导出文件自动保存到本地 \$(pwd)/mydata/exports 目录

ls $(pwd)/mydata/exports  # 查看导出结果

四、Linux 专属运维命令(必备)

操作需求命令
启动已停止的容器docker start label-studio
停止容器docker stop label-studio
重启容器docker restart label-studio
查看容器日志(排查错误)docker logs -f label-studio(-f 实时跟踪)
进入容器内部(调试)docker exec -it label-studio /bin/bash
删除容器(需先停止)docker rm label-studio
查看端口占用(解决冲突)`netstat -tulnp

五、Linux 常见问题排查(避坑指南)

  1. 容器启动失败,日志显示 PermissionError

    → 解决方案:重新执行权限命令 sudo chown -R 1001:1001 $(pwd)/mydata,确保目录归属 UID 1001

  2. 局域网访问超时(服务器 IP 能 ping 通,但 8080 端口无法访问)

    → 排查步骤:

# 1. 检查容器是否监听0.0.0.0

docker inspect label-studio | grep "IPAddress"  # 应显示0.0.0.0

# 2. 检查服务器端口是否开放

telnet   [服务器IP] 8080  # 若提示无法连接,重新配置防火墙

# 3. 关闭SELinux(CentOS特有)

sudo setenforce 0  # 临时关闭(测试),永久关闭需修改/etc/selinux/config
  1. 数据导入后不显示

    → 解决方案:确保数据文件格式正确(如 CSV 第一列无表头),且复制到$(pwd)/mydata目录后,在项目页点击「Sync Storage」同步

六、Linux 生产环境优化(可选)

  1. 自定义端口(避免 8080 冲突)

    启动时替换端口映射,如 -p 9000:8080,并同步更新防火墙规则

  2. 后台运行 + 自动重启

    启动命令添加 --restart=always,确保服务器重启后容器自动运行:

docker run -itd 

 -p 8080:8080 

 -v $(pwd)/mydata:/label-studio/data 

 -e LABEL_STUDIO_HOST=0.0.0.0 

 --name label-studio 

 --restart=always 

 heartexlabs/label-studio:latest
  1. 备份数据(Linux 定时任务)

    创建 crontab 定时备份mydata目录:

# 编辑定时任务

crontab -e

# 添加一行(每天凌晨2点备份到/home/backup)

0 2 * * * tar -zcvf /home/backup/label-studio-backup-$(date +%Y%m%d).tar.gz   $(pwd)/mydata
``

更多推荐