我使用 docker 镜像启动 weaviate,然后创建了两个类,并使用 Java 客户端为这些类添加了大约 400 多个数据条目。我还尝试了问答模块来查询数据,它工作正常。
一旦我在 Docker 容器中重新启动 Weaviate 实例,我的架构就丢失了。
我对 Weaviate 完全陌生,不知道出了什么问题。
我使用 docker 镜像启动 weaviate,然后创建了两个类,并使用 Java 客户端为这些类添加了大约 400 多个数据条目。我还尝试了问答模块来查询数据,它工作正常。
一旦我在 Docker 容器中重新启动 Weaviate 实例,我的架构就丢失了。
我对 Weaviate 完全陌生,不知道出了什么问题。
默认情况下,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
那是因为 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
...