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

在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

http://www.xdnf.cn/news/5761.html

相关文章:

  • 从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation Promptable Segmentation
  • Java基础(IO)
  • Android Native 之 自定义进程
  • 【氮化镓】电子辐照下温度对GaN位移阈能的影响
  • 开源网络地图可视化第五章学习指南
  • 【认知思维】光环效应:第一印象的持久力量
  • MySQL 8.0 OCP 1Z0-908 题目解析(2)
  • SpringBoot整合MQTT实战:基于EMQX实现双向设备通信(附源码)
  • QEMU模拟32位ARM实现自定义系统调用
  • 基于STM32、HAL库的PCM3060PWR 音频接口芯片驱动程序设计
  • 深度学习计算
  • GOOSE 协议中MAC配置
  • wpf DataGrid 行选择 命令绑定
  • polarctf-web-[简单rce]
  • Linux学习心得问题整理(一)
  • UDP--DDR--SFP,FPGA实现之指令监测模块实现
  • 鸿蒙北向应用开发: deveco5.0 创建开源鸿蒙项目
  • django扩展练习记录
  • 一文详解Spring Boot如何配置日志
  • 第一章 应急响应-webshell查杀
  • 【免杀】C2免杀技术(一)VS设置
  • 逆向破解:x64dbg
  • 操作系统实战——QEMU模拟器搭建【rCore 操作系统】
  • 多线程访问Servlet如何谨慎处理共享资源
  • 5.10-套接字通信 - C++
  • Spring急速入门
  • Linux系统管理与编程18:自动化部署dhcp服务
  • QML状态机制示例(State)
  • 数据知识产权质押融资风险控制
  • 前端面试每日三题 - Day 31