当前位置: 首页 > news >正文

在Ubuntu服务器上部署Label Studio

一、拉取镜像

docker pull heartexlabs/label-studio:latest

二、启动容器

(回到用户目录,例:输入pwd,显示 /home/<user>)

docker run -d --name label-studio -it -p 8081:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest
# 访问网址
http://localhost:8081

三、遇到的问题

1.对用户目录没有操作权限

输入启动容器的命令后,出现报错,无法运行该命令,尝试在用户目录下创建mydata文件夹后,出现新的报错

# 问题显示
=> Database and media directory: /label-studio/data
=> Static URL is set to: /static/
Traceback (most recent call last):File "/label-studio/.venv/bin/label-studio", line 3, in <module>from label_studio.server import mainFile "/label-studio/label_studio/server.py", line 23, in <module>from label_studio.core.argparser import parse_input_argsFile "/label-studio/label_studio/core/argparser.py", line 5, in <module>from .settings.base import EXPORT_DIRFile "/label-studio/label_studio/core/settings/base.py", line 461, in <module>os.makedirs(MEDIA_ROOT, exist_ok=True)File "<frozen os>", line 225, in makedirs
PermissionError: [Errno 13] Permission denied: '/label-studio/data/media'

解决:对mydata文件夹设置权限

# 将 mydata 目录及其子目录归属权改为当前用户
sudo chown -R $(whoami):$(whoami) ./mydata

2.查看并删除已停止的容器

# 查看所有容器(包括已停止的)
docker ps -a# 根据容器 ID 或名称逐个删除
docker rm container_id_1 container_id_2 container_id_3

3.解析原命令

解析命令:docker run -it -p 8081:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest
1. ‌基础命令结构‌docker run‌:创建并启动一个新容器的主命令。2. ‌参数解析‌(1) -it‌
作用‌:以交互模式运行容器,并分配一个伪终端(pseudo-TTY)。
-i:保持标准输入(STDIN)打开,允许与容器交互。
-t:分配终端,使命令在交互式环境中运行(如 Shell)。
典型场景‌:需直接在容器内执行命令(如调试或操作容器内 Shell)。(2) -p 8081:8080‌
作用‌:端口映射,将宿主机端口 8081 绑定到容器端口 8080。
访问宿主机 http://localhost:8081 可连接到容器的 8080 端口服务。
格式说明‌:宿主机端口:容器端口,需确保宿主机端口未被占用。(3) -v $(pwd)/mydata:/label-studio/data‌
作用‌:数据卷挂载,将宿主机目录 $(pwd)/mydata 挂载到容器的 /label-studio/data 目录。
$(pwd):当前 Shell 的工作目录(例如 /home/user),实际挂载路径为 /home/user/mydata。
容器内对 /label-studio/data 的读写会同步到宿主机的 mydata 目录,实现数据持久化。
注意‌:
若宿主机目录 mydata 不存在,Docker 会默认创建。
路径需使用绝对路径或 Shell 变量(如 $(pwd))。(4) heartexlabs/label-studio:latest‌
镜像名称‌:指定从 Docker Hub 拉取的镜像 heartexlabs/label-studio,标签为 latest(最新版本)。
若本地无此镜像,Docker 会自动从仓库拉取。3. ‌完整命令功能总结‌通过此命令:创建并启动‌一个基于 heartexlabs/label-studio 镜像的容器。
交互式运行‌容器,用户可通过终端与容器内进程交互。
端口映射‌允许通过宿主机 8081 端口访问容器内服务。
数据持久化‌确保容器内 /label-studio/data 的数据保存到宿主机本地目录,避免容器删除后数据丢失。4. ‌潜在问题与注意事项‌目录权限‌:确保宿主机目录 mydata 对 Docker 进程有读写权限。
端口冲突‌:若宿主机 8081 端口被占用,需修改映射端口(如 -p 8082:8080)。
镜像版本‌:标签 latest 可能随更新变动,建议生产环境使用固定版本(如 heartexlabs/label-studio:1.0.0)。

四、参考网址

LabelStudio+YOLO实战:从数据标注到模型训练完整指南

Label Studio+Yolov5实现目标检测预标注(一)

HumanSignal/label-studio: Label Studio is a multi-type data labeling and annotation tool with standardized output format

相关文章:

  • 蓝桥杯13届国B 出差
  • 软件产品线上验收测试有什么目的?又有哪些测试流程?
  • Java接口性能优化:零成本实现数据库状态到中文的极致转换
  • 【图像处理基石】遥感图像分析入门
  • 硬件自动化测试平台搭建(硅后验证,非EDA)day1 大概了解
  • 【报错解决】服务器重启后vscode远程连接失败
  • ‌Element UI 双击事件(@cell-dblclick 与 @row-dblclick)
  • 使用java通过modbus读取前端设备数据
  • AI Agent开发第65课-DIFY和企业现有系统结合实现高可配置的智能零售AI Agent(下)
  • 【Python爬虫 !!!!!!政府招投标数据爬虫项目--医疗实例项目文档(提供源码!!!)!!!学会Python爬虫轻松赚外快】
  • 现代化QML组件开发教程
  • 支付宝小程序开发指南
  • 在Babylon.js中实现完美截图:包含Canvas和HTML覆盖层
  • Rollup入门与进阶:为现代Web应用构建超小的打包文件
  • Q1财报持续向好,腾讯音乐如何在不确定中寻找确定性?
  • FlashInfer - 安装
  • Spark自定义分区器-基础
  • 订单服务拆分库表迁移实践
  • 杰理-701-手表sdk无法电脑连接经典蓝牙
  • calico.yaml+国内源
  • 重庆市委原常委、政法委原书记陆克华被决定逮捕
  • 王毅谈中拉命运共同体建设“五大工程”及落实举措
  • 中拉论坛部长级会议为何悬挂海地和圣卢西亚的国旗?外交部回应
  • 警方通报:某博主遭勒索后自杀系自导自演,已立案调查
  • 韩国总统选战打响:7人角逐李在明领跑,执政党临阵换将陷入分裂
  • 汇源果汁发文:经营情况一切正常