Docker-compose#

本指南介绍如何使用 docker-compose 运行带有 Elasticsearch 的 Argilla 服务器。

使用 docker-compose 启动 Argilla 和 Elasticsearch#

对于此方法,您首先需要安装 Docker Compose

然后,创建一个文件夹

mkdir argilla && cd argilla

并使用以下命令启动 docker 容器化的 Web 应用程序,在设置环境变量 ARGILLA_AUTH_SECRET_KEY 的值之后,该值可以使用 openssl rand -hex 32 生成

wget -O docker-compose.yaml https://raw.githubusercontent.com/argilla-io/argilla/main/docker/docker-compose.yaml && docker-compose up -d

警告

最新版本的 docker 应该在执行时不带破折号 ‘-’,例如

docker compose up -d

这是一种便捷的方式,因为它自动包含 Elasticsearch 实例,Argilla 的主要持久层。

警告

请记住,如果您执行

docker-compose down

您将丢失 Argilla 中的所有数据集!

提示

相反,执行

docker-compose stop

注意

默认情况下,遥测功能已启用。这有助于我们改进产品。有关指标和禁用它们的更多信息,请查看 遥测

持久化 ElasticSearch 数据#

为了避免在 docker-compose/服务器关闭时丢失所有数据,您可以通过在 docker-compose 中挂载卷来添加一些持久性。

为此,修改 elasticsearch 服务并在 docker-compose.yaml 文件中创建一个新卷

services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.5.3
    container_name: elasticsearch
    environment:
      - node.name=elasticsearch
      - cluster.name=es-argilla-local
      - discovery.type=single-node
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - argilla
    # Add the volume to the elasticsearch service
    volumes:
      - elasticdata:/usr/share/elasticsearch/data
  argilla:
    # ... here goes the rest of the docker-compose.yaml

# ...

# At the end of the file create a volume for ElasticSearch
volumes:
  elasticdata:

这样,即使 ElasticSearch 服务关闭,数据也将持久保存在 elasticdata 卷中。要检查它,您可以执行命令

docker volume ls

请注意,如果您想应用这些更改,并且您已经有一个先前的 docker-compose 实例正在运行,则需要再次执行 up 命令

docker-compose up -d