Linux系统Label-Studio Docker部署全流程
·
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 系统使用流程(实操步骤)
(一)登录系统
-
本地访问:浏览器打开
http://127.0.0.1:8080 -
局域网访问:浏览器打开
http://[Linux服务器IP]:8080(服务器 IP 通过ip addr查询,如 ens33 网卡的 inet 地址) -
首次访问:注册管理员账号(用户名 + 密码,唯一管理员)
(二)创建标注项目(Linux 本地数据导入示例)
-
点击「Create Project」→ 填写项目名称(如「Linux 服务器日志标注」)
-
导入本地数据(Linux 服务器文件):
-
方法 1:浏览器上传(适合小文件):项目页→「Data Import」→「Upload Files」→ 选择 Linux 本地文件(如
/home/xxx/data.csv) -
方法 2:直接挂载目录(推荐大文件):容器已挂载
$(pwd)/mydata,将数据复制到该目录即可自动识别:
cp /home/xxx/large_dataset/ $(pwd)/mydata # 复制数据到挂载目录
- 选择标注模板(如文本分类、图像检测)→ 点击「Save」完成创建
(三)标注与导出(Linux 命令行辅助)
- 浏览器端标注:进入「Labeling」页面,使用左侧工具完成标注

- 命令行导出(无需打开浏览器):
# 进入容器执行导出命令
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 常见问题排查(避坑指南)
-
容器启动失败,日志显示 PermissionError
→ 解决方案:重新执行权限命令
sudo chown -R 1001:1001 $(pwd)/mydata,确保目录归属 UID 1001 -
局域网访问超时(服务器 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
-
数据导入后不显示
→ 解决方案:确保数据文件格式正确(如 CSV 第一列无表头),且复制到
$(pwd)/mydata目录后,在项目页点击「Sync Storage」同步
六、Linux 生产环境优化(可选)
-
自定义端口(避免 8080 冲突)
启动时替换端口映射,如
-p 9000:8080,并同步更新防火墙规则 -
后台运行 + 自动重启
启动命令添加
--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
-
备份数据(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
``
更多推荐

所有评论(0)