2

我使用 docker 镜像启动 weaviate,然后创建了两个类,并使用 Java 客户端为这些类添加了大约 400 多个数据条目。我还尝试了问答模块来查询数据,它工作正常。

一旦我在 Docker 容器中重新启动 Weaviate 实例,我的架构就丢失了。

我对 Weaviate 完全陌生,不知道出了什么问题。

4

2 回答 2

3

默认情况下,Docker 本身都是临时的,这是 docker 低占用空间低清理的一部分。

您可以使用它volumes来创建和映射到一个卷,该卷是与主机共享的文件夹,它将在容器实例之间保留并重新挂载。

完整的文档在这里。

https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference

TLDR ;

A volumes, 撰写文件的部分。看起来像这样:

services:
  weaviate:
    image: waviate
    volumes:
      - localFolder:/var/lib/weaviate/data
于 2021-12-03T13:57:55.023 回答
1

那是因为 Weaviate 卷位于您的容器内。安装容器将解决您的问题。在下面的示例中,更改/var/weaviate为您喜欢的任何文件夹)。

例如:

---
version: '3.4'
services:
  weaviate:
    command:
    - --host
    - 0.0.0.0
    - --port
    - '8080'
    - --scheme
    - http
    image: semitechnologies/weaviate:1.8.0
    ports:
    - 8080:8080
    restart: on-failure:0
    volumes:
      - /var/weaviate:/var/lib/weaviate # <== set a volume here
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
      DEFAULT_VECTORIZER_MODULE: 'none'
      ENABLE_MODULES: ''
      CLUSTER_HOSTNAME: 'node1' # <== this can be set to an arbitrary name
...
于 2021-12-03T13:50:15.880 回答