agentic_huge_data_base / wiki
页面 Argilla · 6.1 Docker 部署·DeepWiki 中文全文译文

6.1 · Docker 部署(Docker Deployment)

人工复核与反馈数据 · 本章是 Argilla DeepWiki 中文译文的独立章节页,保留原始链接、源码锚点、模块标签和章节层级。

项目Argilla 章节6.1 状态全文译文 模块安装与启动、界面与交互、检索、召回与索引、接口与服务契约
源码线索
  • .dockerignore
  • argilla-server/src/argilla_server/api/schemas/v1/suggestions.py
  • argilla/README.md
  • argilla/docs/assets/images/getting_started/dataset_configurator.png
  • argilla/docs/assets/images/how_to_guides/custom_field/3d_object_viewer.png
  • argilla/docs/assets/images/how_to_guides/custom_field/images_in_two_columns.png
  • argilla/docs/assets/images/how_to_guides/custom_field/metadata_table.png
  • argilla/docs/getting_started/faq.md
  • argilla/docs/getting_started/how-to-configure-argilla-on-huggingface.md
  • argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md
模块标签
  • 安装与启动
  • 界面与交互
  • 检索、召回与索引
  • 接口与服务契约
  • 文档对象与元数据

中文译文

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 页面的上下文:

  • .dockerignore
  • argilla-server/src/argilla_server/api/schemas/v1/suggestions.py
  • argilla/README.md
  • argilla/docs/assets/images/getting_started/dataset_configurator.png
  • argilla/docs/assets/images/how_to_guides/custom_field/3d_object_viewer.png
  • argilla/docs/assets/images/how_to_guides/custom_field/images_in_two_columns.png
  • argilla/docs/assets/images/how_to_guides/custom_field/metadata_table.png
  • argilla/docs/getting_started/faq.md
  • argilla/docs/getting_started/how-to-configure-argilla-on-huggingface.md
  • argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md
  • argilla/docs/getting_started/quickstart.md
  • argilla/docs/how_to_guides/annotate.md
  • argilla/docs/how_to_guides/custom_fields.md
  • argilla/docs/how_to_guides/distribution.md
  • argilla/docs/how_to_guides/query.md
  • argilla/docs/index.md
  • argilla/docs/reference/argilla/client.md
  • argilla/docs/reference/argilla/search.md
  • argilla/src/argilla/_models/_dataset_progress.py
  • argilla/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:

  1. 创建一个用于 Argilla 部署的文件夹:
   mkdir argilla && cd argilla
  1. 下载 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
  1. 启动部署:
   docker compose up -d
  1. 在浏览器中访问 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 界面
databasePostgreSQL 数据库存储用户信息、数据集、设置和元数据
search-engineElasticsearch/OpenSearch提供全文搜索、向量搜索和过滤功能
redis-queueRedis 消息队列管理后台任务和作业排队

来源: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 部署中遇到问题,请尝试以下步骤:

  1. 检查 Docker 日志 以识别错误:
   docker compose logs -f
  1. Elasticsearch 问题:大多数部署问题都与 Elasticsearch 相关。常见问题包括:
  2. - 内存不足(Elasticsearch 需要大量 RAM) - 卷挂载的权限问题 - 网络配置问题

  1. 数据库连接问题:确保 PostgreSQL 容器正常运行:
   docker compose ps
  1. 获取支持:如果需要帮助,请加入 Hugging Face Discord 服务器,并在 Argilla 频道中寻求支持。

来源:argilla/docs/getting_started/how-to-deploy-argilla-with-docker.md:34-40

相关页面