在豆包的协助下,折腾了一天,电脑盲终于把Doccano安装好了
itomcoil 2025-07-09 13:24 3 浏览
折腾了一天,终于把Doccano软件装好了。
先是用Deepseek,提示词:给新手小白出一个在新电脑上安装doccano的教程
新手小白安装 Doccano 终极教程
无需编程基础,两种方法任选,全程避坑!
方法一:Docker 一键安装(推荐,无环境冲突)
......此处省略500字
方法二:Anaconda 手动安装(适合学习环境管理)
......此处省略500字
就此开始了上网、下载、安装、报错、提问、输入、报错......卸载......安装......报错.......提问之旅......
......此处省略50000字
在要放弃的时候,决定再试试用豆包看行不行。
提示词:操作系统WIN11,安装环境DOCKER,如何检测doccano是否安装成功
豆包:在 Windows 11 系统中安装 Docker 后,要检测 Doccano 是否安装成功,可以按照以下步骤进行:
- 查看容器运行状态:打开命令提示符或 PowerShell,输入命令docker ps -a,查看是否有正在运行或已停止的 Doccano 相关容器。如果能看到类似doccano/doccano的容器,说明 Doccano 已安装且容器已创建。
- 访问 Doccano 服务:假设 Doccano 服务运行在默认端口 8000 上,在浏览器中输入http://localhost:8000,如果能打开 Doccano 的登录页面或相关界面,说明 Doccano 服务正在运行且安装成功。
- 检查日志文件:使用命令docker logs <container_id>,将<container_id>替换为实际的 Doccano 容器 ID,查看容器的日志输出。如果没有报错信息,且有显示服务启动成功的相关日志,也可表明安装成功。
- 尝试创建项目和标注数据:登录 Doccano 界面后,尝试创建一个新的标注项目,添加一些数据并进行标注操作。如果这些操作都能正常进行,没有出现错误提示,那么可以确认 Doccano 安装成功且功能正常。
提示词:输入docker ps -a后,显示如下信息, CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6f1d39424163 doccano/doccano "/doccano/tools/run.…" 6 hours ago Exited (1) 6 hours ago doccano,是什么意思
豆包:从你给出的docker ps -a输出信息可知,存在一个名为doccano的容器,不过它当前处于退出状态。下面为你详细解释输出内容里各字段的含义:
各字段含义
- CONTAINER ID:6f1d39424163 是该容器的唯一标识符,可用于在 Docker 命令里精准定位这个容器。
- IMAGE:doccano/doccano 表明此容器是依据 doccano/doccano 镜像创建的,这意味着它是 Doccano 应用程序。
- COMMAND:"/doccano/tools/run.…" 为容器启动时所执行的命令。省略号代表输出可能因长度限制而被截断。
- CREATED:6 hours ago 显示容器是在 6 小时之前创建的。
- STATUS:Exited (1) 6 hours ago 表明容器已经退出,退出码为 1,退出时间是 6 小时前。退出码 1 通常代表容器在运行期间出现了错误。
- PORTS:这一列没有内容,意味着该容器没有映射端口到宿主机。
- NAMES:doccano 是这个容器的名称,在创建容器时可以指定。
分析与建议
容器退出码为 1 说明容器启动过程中存在问题。你可以通过查看容器的日志来进一步排查问题,使用以下命令查看日志
bash
docker logs 6f1d39424163
将 6f1d39424163 替换为实际的容器 ID,日志中会包含容器启动和运行过程中的详细信息,有助于你找出导致容器退出的原因。
提示词:PS C:\WINDOWS\system32> docker logs 6f1d39424163 Missing ADMIN_USERNAME environment variable
豆包:从日志信息 Missing ADMIN_USERNAME environment variable 可知,容器启动失败是因为缺少 ADMIN_USERNAME 环境变量。在运行 Doccano 容器时,这个环境变量是必需的,它用于设置 Doccano 管理员的用户名。
若要解决该问题,你在启动 Doccano 容器时,需要明确指定 ADMIN_USERNAME 以及其他必要的环境变量。以下是一个示例命令,它可以帮你重新启动 Doccano 容器并设置所需的环境变量:
bash
docker run -d \
-e "ADMIN_USERNAME=admin" \
-e "ADMIN_PASSWORD=password" \
-e "ADMIN_EMAIL=admin@example.com" \
-p 8000:8000 \
--name doccano \
doccano/doccano
命令解释
- -d:让容器在后台运行。
- -e:用于设置环境变量。这里设置了 ADMIN_USERNAME(管理员用户名)、ADMIN_PASSWORD(管理员密码)和 ADMIN_EMAIL(管理员邮箱)。
- -p 8000:8000:把容器的 8000 端口映射到宿主机的 8000 端口,这样就能通过浏览器访问 Doccano 服务了。
- --name doccano:为容器指定名称为 doccano。
- doccano/doccano:使用的镜像名称。
你可以在命令提示符或 PowerShell 中运行上述命令。运行之后,再使用 docker ps -a 查看容器状态,确认容器是否正常运行。如果容器还是无法正常启动,你可以再次使用 docker logs 命令查看详细日志来进一步排查问题。
提示词:我是电脑小白,以上内容是逐行输入还是一次复制到powershell中
你可以一次性将上述命令复制到 PowerShell 中执行,但要注意以下几点:
1. 去除换行符
由于在提供的示例命令里使用了换行符(\)来提升可读性,在复制到 PowerShell 之前,你需要把这些换行符去掉,让命令成为一行。示例命令去掉换行符后如下:
powershell
docker run -d -e "ADMIN_USERNAME=admin" -e "ADMIN_PASSWORD=password" -e "ADMIN_EMAIL=admin@example.com" -p 8000:8000 --name doccano doccano/doccano
2. 自定义配置
你可以根据自身需求对命令中的环境变量值进行修改。比如,你可以把 ADMIN_USERNAME、ADMIN_PASSWORD 和 ADMIN_EMAIL 修改成你想要的用户名、密码和邮箱地址。
3. 运行命令
把处理好的命令复制到 PowerShell 窗口,然后按下 Enter 键,这样 Docker 就会依据命令来启动 Doccano 容器了。
4. 检查结果
命令执行完毕后,你可以使用 docker ps -a 命令查看容器状态,确认 Doccano 容器是否成功启动。要是容器没有正常启动,你可以用 docker logs 命令查看容器日志,进而排查问题。
提示词:docker run -d -e "ADMIN_USERNAME=l。。。。。" -e "ADMIN_PASSWORD=。。。。。。" -e "ADMIN_EMAIL=。。。。。。" -p 8000:8000 --name doccano doccano/doccano docker: Error response from daemon: Conflict. The container name "/doccano" is already in use by container "
6f1d394241630f8dd256ae37885e76a386f23b8f2c112d7d181ebd9b62f427c1". You have to remove (or rename) that container to be able to reuse that name.
豆包:从报错信息可知,你试图使用的容器名 doccano 已被 ID 为 6f1d39424163... 的容器占用,Docker 不允许存在同名容器,所以你得先移除或重命名该容器,才能重新使用这个名称。下面为你提供几种解决办法:
方法一:移除旧容器
如果你不再需要之前的容器,可以直接将其移除。使用以下命令:
powershell
docker rm 6f1d39424163
上述命令中,6f1d39424163 是旧容器的 ID,你也可以使用完整的 ID。移除成功后,再运行之前的启动命令:
powershell
docker run -d -e "ADMIN_USERNAME=。。。。。。" -e "ADMIN_PASSWORD=。。。。。。" -e "ADMIN_EMAIL=。。。。。。" -p 8000:8000 --name doccano doccano/doccano
方法二:重命名旧容器
若你想保留旧容器,可对其进行重命名。使用以下命令重命名:
powershell
docker rename 6f1d39424163 doccano_old
这里将旧容器重命名为 doccano_old,你可以根据实际情况修改新名称。重命名后,再次运行启动命令:
powershell
docker run -d -e "ADMIN_USERNAME=lxjun" -e "ADMIN_PASSWORD=qwert12345" -e "ADMIN_EMAIL=12013346@qq.com" -p 8000:8000 --name doccano doccano/doccano
方法三:使用新的容器名
如果你不想处理旧容器,也可以在启动命令中使用新的容器名,例如:
powershell
docker run -d -e "ADMIN_USERNAME=。。。。。。" -e "ADMIN_PASSWORD=。。。。。。" -e "ADMIN_EMAIL=。。。。。。" -p 8000:8000 --name doccano_new doccano/doccano
上述命令使用 doccano_new 作为新容器的名称,你可以按需修改。
提示词:docker run -d -e "ADMIN_USERNAME=。。。。。。" -e "ADMIN_PASSWORD=。。。。。。" -e "ADMIN_EMAIL=。。。。。。" -p 8000:8000 --name doccano doccano/doccano
d39a0406c75833bcdf1d19a99da0cfe1cd83bf45cab1f9ddac5d6b3bd86e6f93
从你执行命令后的输出情况来看,新的 Doccano 容器已成功启动。输出的
d39a0406c75833bcdf1d19a99da0cfe1cd83bf45cab1f9ddac5d6b3bd86e6f93 是新容器的 ID。
你可以通过下面的命令来查看容器的运行状态
powershell
docker ps -a
若在输出里能看到 doccano 容器处于 Up 状态,就表明容器正在正常运行。之后,你就能在浏览器里输入 http://localhost:8000 来访问 Doccano 的登录页面了,使用之前设置的管理员用户名。。。。。。 和密码。。。。。。进行登录。
要是容器没有正常运行,你可以借助以下命令查看容器的日志,从而排查问题:
powershell
docker logs d39a0406c758
上述命令中的 d39a0406c758 是容器 ID 的前几位,你可以使用完整的 ID 或者足够用于唯一标识该容器的部分 ID。
docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d39a0406c758 doccano/doccano "/doccano/tools/run.…" 47 seconds ago Up 45 seconds 0.0.0.0:8000->8000/tcp doccano 6f1d39424163 doccano/doccano "/doccano/tools/run.…" 6 hours ago Exited (1) 6 hours ago
从 docker ps -a 的输出结果来看,新创建的名为 doccano 的容器(ID 为 d39a0406c758)已经成功启动并正在运行。该容器将主机的 8000 端口映射到容器内部的 8000 端口,这意味着你现在可以通过浏览器访问 Doccano 服务了。
你可以在浏览器的地址栏中输入 http://localhost:8000,然后使用之前设置的管理员用户名。。。。。。 和密码。。。。。。进行登录。
另外,之前的那个容器(ID 为 6f1d39424163)仍然存在,且处于退出状态。如果你确定不再需要它,可以使用以下命令将其删除:
powershell
docker rm 6f1d39424163
这样可以清理掉不再使用的容器,释放系统资源。
相关推荐
- 信创系统下的Anaconda离线配置全攻略
-
原文链接:「链接」Hello,大家好啊,今天给大家带来一篇信创操作系统上离线配置Anaconda的文章,欢迎大家分享点赞,点个在看和关注吧!在信创环境下使用Anaconda对Python进行包...
- 【Python】Mac中Anaconda安装与使用(2025)
-
一、anaconda介绍我是一个多年的Java工程师,之前也写过一些简单的Python程序,随着AI的发展,后续使用Python会越来越多,和Java一样,Python涉及环境配置...
- 在豆包的协助下,折腾了一天,电脑盲终于把Doccano安装好了
-
折腾了一天,终于把Doccano软件装好了。先是用Deepseek,提示词:给新手小白出一个在新电脑上安装doccano的教程新手小白安装Doccano终极教程无需编程基础,两种方法任选,全程避坑...
- 用Python开发日常小软件,让生活与工作更高效!附实例代码
-
引言:Python如何让生活更轻松?在数字化时代,编程早已不是程序员的专属技能。Python凭借其简洁易学的特点,成为普通人提升效率、解决日常问题的得力工具。无论是自动化重复任务、处理数据,还是开发个...
- 用python怎么做最简单的桌面计算器
-
有网友问,用python怎么做一个最简单的桌面计算器。如果只强调简单,在本机运行,不考虑安全性和容错等的话,你能想到的最简单的方案是什么呢?我觉得用tkinter加eval就够简单的。现在开整。首先创...
- 用python操作excel、word、pdf非常迅速方便,迅速教会你
-
你会用python操作excel、word、pdf吗?不会也没关系,这篇文章教会你~【文末领取】案例篇幅有限,给大家准备了电子版PDF获取方式:...
- 10 个每个初学者都应该知道的 Python 技巧
-
1.无需临时变量交换两个变量的值之前:a=5b=10temp=aa=bb=temp之后:a,b=5,10a,b=b,aprint(a,b)#输出:1051...
- SQL用了两年多,分享2个最常用的小技巧
-
导读:SQL是所有数据从业者必须打牢的基本功之一,扎实的SQL查询和适当的调优技巧是检验SQL能力的两大重要准则。个人曾经专门花费过好多时间用于提升SQL能力,期间也刷了大量的SQL题目,在这期间也...
- Python 高手的 15 个代码技巧,让你的编程效率翻倍
-
在Python编程的世界里,我们总能遇到一些代码写得更短、更快、更整洁的开发者。他们似乎掌握了一些不为人知的秘密。本文将揭示15个实用的Python技巧,这些技巧在初学者教程中鲜有提及,却...
- 30天学会Python编程:16. Python常用标准库使用教程
-
16.1collections模块16.1.1高级数据结构16.1.2示例fromcollectionsimportdefaultdict,Counter,deque#默认字典...
- 7 个小 Python 技巧(python技巧总结60)
-
1.使用_作为临时变量这一点很微小,但非常强大。有时候你需要一个循环或一个你实际上不会使用的值。比如:for_inrange(3):print("Hello")过去...
- 如何系统的学python?(如何系统的学剪辑)
-
我不喜欢一上来就推荐一堆参考资料的东西,那只会让初学者更迷茫。好比一个婴儿,你告诉他学会走路的方法有100种,他只会变的对走路毫无兴趣,他要的只是一种最有效的学会走路的办法,而不是100种。同样的,下...
- Python 静态方法、类方法与多态方法:特性解析与实战应用
-
在Python面向对象编程的重要概念,它们各自具备独特的特性和应用场景,为开发者提供了多样化的编程方式。静态方法不依赖实例状态,类方法以类为操作主体,多态方法则实现了不同类对象对同一消息的差异化响...
- 用 Python 库 PySimpleGUI 制作自动化办公小软件
-
Python在运维和办公自动化中扮演着重要的角色,PySimpleGUI是一款很棒的自动化辅助模块,让你更轻松的实现日常任务的自动化。1PySimpleGUI安装在命令行/终端输入:pipin...
- 一日多技:8个有趣的Python实用技巧
-
在这一小节中,我们将看到8个实用的python技巧,这些技巧使用比较高频且有用。列表的反向查找:我们可以使用reverse()函数让列表中的元素反向,它处理列表中存在的数字和字符串数据类型。下面我们直...
- 一周热门
- 最近发表
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)