Docker 部署
Docker 部署
相关源文件
本章引用的主要源码文件:
.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 部署所包含的组件。
来源: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 实例进行交互的典型流程:
来源: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 部署使用了以下几个文件和脚本:
.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 部署
- 有关详细的服务器配置选项,请参阅 服务器配置