Docker 部署(中文译文)
原始 DeepWiki 页面:https://deepwiki.com/argilla-io/argilla/6.1-docker-deployment
翻译时间:2026-05-27T08:44:21.216Z
翻译模型:deepseek-chat
原文字符数:9682
项目:Argilla (argilla)
--- 好的,作为一名资深技术文档翻译专家,我将严格遵循您的要求,将以下 DeepWiki 技术文档全文翻译为中文,并进行润色,使其符合中文技术写作习惯。
---
Docker 部署
相关源文件
以下文件被用作生成此 Wiki 页面的上下文:
.dockerignoreargilla-server/src/argilla_server/api/schemas/v1/suggestions.pyargilla/README.mdargilla/docs/assets/images/getting_started/dataset_configurator.pngargilla/docs/assets/images/how_to_guides/custom_field/3d_object_viewer.pngargilla/docs/assets/images/how_to_guides/custom_field/images_in_two_columns.pngargilla/docs/assets/images/how_to_guides/custom_field/metadata_table.pngargilla/docs/getting_started/faq.mdargilla/docs/getting_started/how-to-configure-argilla-on-huggingface.mdargilla/docs/getting_started/how-to-deploy-argilla-with-docker.mdargilla/docs/getting_started/quickstart.mdargilla/docs/how_to_guides/annotate.mdargilla/docs/how_to_guides/custom_fields.mdargilla/docs/how_to_guides/distribution.mdargilla/docs/how_to_guides/query.mdargilla/docs/index.mdargilla/docs/reference/argilla/client.mdargilla/docs/reference/argilla/search.mdargilla/src/argilla/_models/_dataset_progress.pyargilla/src/argilla/settings/_question.py
本文档介绍如何使用 Docker 部署 Argilla。这种方式非常适合在本地或服务器上运行 Argilla,并能对配置进行完全控制。通过 Docker 部署,您可以完全掌控服务器、数据库和搜索引擎的设置。如果您只是想快速测试 Argilla,或将其部署在 Hugging Face Spaces 上,请参阅使用 Hugging Face 快速入门。
前提条件
在使用 Docker 部署 Argilla 之前,您需要具备以下条件:
- 系统已安装 Docker
- 能够运行
docker compose命令 - 至少 4GB 可用内存(推荐)
部署架构
下图展示了 Argilla Docker 部署所包含的组件。
graph TD
subgraph "Docker 部署"
DockerCompose["docker-compose.yaml"]
ArgillaServer["argilla-server 容器"]
ArgillaUI["argilla-frontend 容器"]
DB["数据库容器 (PostgreSQL)"]
SearchEngine["搜索引擎容器 (Elasticsearch/OpenSearch)"]
Redis["redis-queue 容器"]
DockerCompose --> ArgillaServer
DockerCompose --> ArgillaUI
DockerCompose --> DB
DockerCompose --> SearchEngine
DockerCompose --> Redis
end
Client["Web 浏览器"] --> |"http://localhost:6900"| ArgillaUI
PySDK["Python SDK (argilla)"] --> |"向 localhost:6900 发送 API 请求"| ArgillaServer
ArgillaServer --> DB
ArgillaServer --> SearchEngine
ArgillaServer --> Redis
ArgillaUI --> ArgillaServer
来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:1-40, argilla/docs/getting_started/quickstart.md:60-62
快速部署步骤
请按照以下步骤使用 Docker 部署 Argilla:
- 创建一个用于 Argilla 部署的文件夹:
mkdir argilla && cd argilla
- 下载
docker-compose.yaml文件:
wget -O docker-compose.yaml https://raw.githubusercontent.com/argilla-io/argilla/main/examples/deployments/docker/docker-compose.yaml
或者使用 curl:
curl https://raw.githubusercontent.com/argilla-io/argilla/main/examples/deployments/docker/docker-compose.yaml -o docker-compose.yaml
- 启动部署:
docker compose up -d
- 在浏览器中访问 http://localhost:6900 即可使用 Argilla。
来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:9-36
Docker 服务
docker-compose.yaml 文件定义了以下服务:
| 服务 | 描述 | 角色 |
|---|---|---|
argilla-server | 基于 FastAPI 构建的主后端服务器 | 处理 API 请求、管理数据,并与其他服务通信 |
argilla-frontend | 基于 Vue.js/Nuxt 构建的用户界面 | 为用户提供与 Argilla 交互的 Web 界面 |
database | PostgreSQL 数据库 | 存储用户信息、数据集、设置和元数据 |
search-engine | Elasticsearch/OpenSearch | 提供全文搜索、向量搜索和过滤功能 |
redis-queue | Redis 消息队列 | 管理后台任务和作业排队 |
来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:1-40, argilla/docs/index.md:1-87
Docker 部署的工作流程
以下时序图展示了用户与 Docker 部署的 Argilla 实例进行交互的典型流程:
sequenceDiagram
participant User as "用户"
participant SDK as "Argilla SDK"
participant Server as "argilla-server"
participant UI as "argilla-frontend"
participant DB as "数据库"
participant Search as "搜索引擎"
User->>SDK: import argilla as rg
User->>SDK: client = rg.Argilla(api_url="http://localhost:6900", api_key="...")
SDK->>Server: 认证
Server-->>SDK: 认证确认
User->>SDK: 创建数据集
SDK->>Server: POST /api/v1/datasets
Server->>DB: 存储数据集信息
Server->>Search: 索引数据集元数据
Server-->>SDK: 数据集已创建
User->>SDK: 向数据集写入记录
SDK->>Server: POST /api/v1/datasets/{id}/records/bulk
Server->>DB: 存储记录
Server->>Search: 索引记录
Server-->>SDK: 记录已添加
User->>UI: 在浏览器中访问 UI
UI->>Server: 获取数据集
Server-->>UI: 返回数据集
User->>UI: 查看和标注记录
UI->>Server: 提交标注
Server->>DB: 存储标注
Server-->>UI: 标注已保存
User->>SDK: 导出已标注的数据集
SDK->>Server: GET /api/v1/datasets/{id}/records
Server-->>SDK: 返回包含标注的记录
来源:argilla/docs/getting_started/quickstart.md:84-145, argilla/docs/reference/argilla/client.md:1-63
连接到 Docker 部署的 Argilla
一旦 Argilla 在 Docker 中运行,您可以使用 Python SDK 连接到它:
import argilla as rg
client = rg.Argilla(
api_url="http://localhost:6900",
api_key="your_api_key" # 具体值取决于您的设置
)
# 验证连接
print(client.me)
关于如何获取 API 密钥以及与 Argilla 部署进行进一步交互的信息,请参阅快速入门指南。
来源:argilla/docs/getting_started/quickstart.md:112-148, argilla/docs/reference/argilla/client.md:20-44
Docker 文件和脚本
Argilla 的 Docker 部署使用了以下几个文件和脚本:
graph TD
DockerComposeFile["docker-compose.yaml"] --> DockerImages["Docker 镜像"]
DockerImages --> ArgillaServer["argilla-server 镜像"]
DockerImages --> ArgillaUI["argilla-frontend 镜像"]
subgraph "Docker 脚本"
StartScript["start_argilla_server.sh"]
WaitScript["wait-for-it.sh"]
QuickstartScript["start_quickstart_argilla.sh"]
LoadDataScript["load_data.py"]
end
ArgillaServer --> StartScript
ArgillaServer --> WaitScript
ArgillaServer --> QuickstartScript
ArgillaServer --> LoadDataScript
.dockerignore 文件控制哪些文件会被包含在 Docker 镜像构建中:
# 忽略所有内容
**
# 分发包
!dist/*.whl
# 脚本
!docker/scripts/start_argilla_server.sh
!docker/scripts/wait-for-it.sh
!docker/scripts/start_quickstart_argilla.sh
!docker/scripts/load_data.py
# 包依赖
!docker/quickstart.requirements.txt
来源:.dockerignore:1-15
故障排除
如果在 Argilla Docker 部署中遇到问题,请尝试以下步骤:
- 检查 Docker 日志 以识别错误:
docker compose logs -f
- Elasticsearch 问题:大多数部署问题都与 Elasticsearch 相关。常见问题包括:
- 内存不足(Elasticsearch 需要大量 RAM) - 卷挂载的权限问题 - 网络配置问题
- 数据库连接问题:确保 PostgreSQL 容器正常运行:
docker compose ps
- 获取支持:如果需要帮助,请加入 Hugging Face Discord 服务器,并在 Argilla 频道中寻求支持。
来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:34-40
相关页面
- 如需部署到 Hugging Face Spaces,请参阅 Hugging Face Spaces 集成
- 如需部署到 Kubernetes,请参阅 Kubernetes 部署
- 有关详细的服务器配置选项,请参阅 服务器配置