在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.mzph.cn/web/79705.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 从入门到精通(三):日志管理详解 —— 从排错到恢复的核心利器

在 MySQL 数据库的日常运维中&#xff0c;日志是定位问题、优化性能、数据恢复的核心工具。无论是排查服务器启动异常&#xff0c;还是分析慢查询瓶颈&#xff0c;亦或是通过二进制日志恢复误删数据&#xff0c;日志都扮演着 “数据库黑匣子” 的角色。本文将深入解析 MySQL 的…

内存中的“BANK”

一、BANK的定义与物理结构 基本概念 BANK&#xff08;存储体&#xff09; 是内存芯片内部的一个逻辑或物理分区&#xff0c;每个BANK由存储单元阵列、地址解码电路和缓冲器组成&#xff0c;用于分块管理内存操作。 作用&#xff1a;通过并行操作减少访问冲突&#xff0c;提升内…

机器学习——聚类算法练习题

一、 随机创建不同二维数据集作为训练集 &#xff0c;并结合k-means算法将其聚类 &#xff0c;你可以尝试分别聚类不同数量的簇 &#xff0c;并观察聚类 效果&#xff1a; 聚类参数n_cluster传值不同 &#xff0c;得到的聚类结果不同 代码展示&#xff1a; from sklearn.da…

kafka----初步安装与配置

目录标题 ⭐kafka 与 zookeeper间的关系一.集群部署二.修改配置文件三.分发安装包四.启动与关闭 kafka 与 zookeeper 相同&#xff0c;是以集群的形式使用 ⭐kafka 与 zookeeper间的关系 kafka 的使用 要在 zookeeper 集群配置好的基础上 使用要想启动kafka 要先启动 zookeep…

进程与线程:07 CPU调度策略

一、课程内容概述 本节课程主要讲解操作系统的CPU调度策略&#xff0c;聚焦于基本操作系统上的调度算法&#xff0c;探讨其大致实现方式、需折中考虑的问题。CPU调度在不同场景下复杂程度不同&#xff0c;如卫星、导弹等实时性要求高的系统&#xff0c;需采用实时调度&#xf…

JPG与PDF格式转换器

该插件可实现JPG与PDF格式的互转。 MainForm.Designer.cs using System.Windows.Forms; namespace JpgToPdfConverter {partial class MainForm{private System.ComponentModel.IContainer components null;protected override void Dispose(bool disposing){if (disposing &…

LlamaIndex 第八篇 MilvusVectorStore

本指南演示了如何使用 LlamaIndex 和 Milvus 构建一个检索增强生成&#xff08;RAG&#xff09;系统。 RAG 系统将检索系统与生成模型相结合&#xff0c;根据给定的提示生成新的文本。该系统首先使用 Milvus 等向量相似性搜索引擎从语料库中检索相关文档&#xff0c;然后使用生…

浅聊一下数据库的索引优化

背景 这里的索引说的是关系数据库&#xff08;MSSQL&#xff09;中的索引。 本篇不是纯技术性的内容&#xff0c;只是聊一次性能调优的经历&#xff0c;包含到一些粗浅的实现和验证手段&#xff0c;所以&#xff0c;大神忽略即可。 额…对了&#xff0c;笔者对数据库的优化手段…

【android bluetooth 框架分析 02】【Module详解 7】【VendorSpecificEventManager 模块介绍】

1. 背景 我们在 gd_shim_module 介绍章节中&#xff0c;看到 我们将 VendorSpecificEventManager 模块加入到了 modules 中。 // system/main/shim/stack.cc modules.add<hci::VendorSpecificEventManager>();在 ModuleRegistry::Start 函数中我们对 加入的所有 module…

小刚说C语言刷题—1080质因子

1.题目描述 任意输入一正整数 N &#xff0c;求出它的所有质因子。如&#xff1a;10&#xff1d;25&#xff0c;20&#xff1d;225。 输入 输入只有一行&#xff0c;包括 11个整数 n (1≤n≤32768) 输出 输出若干行&#xff0c;按从小到大的顺序给出这个数的所有质因子&am…

C语言中的宏

1.防止头文件重复包含 1.#pragma once #pragma once 是一个编译器指令&#xff0c;用于防止头文件被重复包含。它的核心作用是通过简单语法替代传统的头文件保护宏&#xff08;#ifndef/#define/#endif&#xff09;&#xff0c;提升代码简洁性和可维护性。 作用详解 防止重复…

MapReduce 模型

‌引言‌ MapReduce 是分布式计算领域的里程碑式模型&#xff0c;由 Google 在 2004 年论文中首次提出&#xff0c;旨在简化海量数据处理的复杂性。其核心思想是通过函数式编程的 ‌Map‌ &#xff08;映射&#xff09;和 ‌Reduce‌ &#xff08;归约&#xff09;阶段&#x…

Linux文件编程——标准库函数fopen、fread、fwrite等函数

1. fopen — 打开文件 函数原型&#xff1a; FILE *fopen(const char *filename, const char *mode);参数&#xff1a; filename&#xff1a;要打开的文件名&#xff0c;可以是相对路径或绝对路径。 mode&#xff1a;文件打开模式&#xff0c;表示文件的操作方式&#xff08…

从 Git 到 GitHub - 使用 Git 进行版本控制 - Git 常用命令

希望本贴能从零开始带您一起学习如何使用 Git 进行版本控制&#xff0c;并结合远程仓库 GitHub。这会是一个循序渐进的指南&#xff0c;我们开始吧&#xff01; 学习 Git 和 GitHub 的路线图&#xff1a; 理解核心概念&#xff1a;什么是版本控制&#xff1f;Git 是什么&…

2025.05.11拼多多机考真题算法岗-第四题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 04. 记忆碎片重组 问题描述 卢小姐正在开发一款名为"记忆碎片"的游戏,玩家需要分析混乱的记忆数据,推测出形成这些记忆的原始序列。游戏中,记忆数据存储在一个特殊的数…

Android Exoplayer多路不同时长音视频混合播放

在上一篇Android Exoplayer 实现多个音视频文件混合播放以及音轨切换中我们提到一个问题&#xff0c;如果视频和音频时长不一致&#xff0c;特别是想混合多个音频和多个视频时就会出问题&#xff0c;无法播放。报错如下&#xff1a; E/ExoPlayerImplInternal(11191): Playback…

Datawhale PyPOTS时间序列5月第1次笔记

课程原地址&#xff1a; https://github.com/WenjieDu/PyPOTS&#xff08;Package地址&#xff09; https://github.com/WenjieDu/BrewPOTS/tree/datawhale/202505_datawhale&#xff08;Tutorial地址&#xff09; 2.1 PyPOTS简介 PyPOTS 是一个专为处理部分观测时间序列&a…

网安学途—流量分析 attack.pcap

attack.pacp 使用Wireshark查看并分析虚拟机windows 7桌面下的attack.pcapng数据包文件&#xff0c;通过分析数据包attack.pcapng找出黑客的IP地址&#xff0c;并将黑客的IP地址作为FLAG &#xff08;形式&#xff1a;[IP地址]&#xff09;提交&#xff1a; 过滤器筛选&#x…

【大模型】DeepResearcher:通用智能体通过强化学习探索优化

DeepResearcher&#xff1a;通过强化学习在真实环境中扩展深度研究 一、引言二、技术原理&#xff08;一&#xff09;强化学习与深度研究代理&#xff08;二&#xff09;认知行为的出现&#xff08;三&#xff09;模型架构 三、实战运行方式&#xff08;一&#xff09;环境搭建…

go语言实现IP归属地查询

效果: 实现代码main.go package mainimport ("encoding/json""fmt""io/ioutil""net/http""os" )type AreaData struct {Continent string json:"continent"Country string json:"country"ZipCode …