首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不丢失模式的情况下在Docker中重新启动Weaviate?

如何在不丢失模式的情况下在Docker中重新启动Weaviate?
EN

Stack Overflow用户
提问于 2021-12-03 09:55:39
回答 2查看 104关注 0票数 2

我使用docker镜像启动了weaviate,然后创建了两个类,并使用Java客户端为这些类添加了大约400+数据条目。我还尝试了用于查询数据的Q&A模块,它工作得很好。

当我在Docker容器中重新启动Weaviate实例时,我的模式就丢失了。

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

EN

回答 2

Stack Overflow用户

发布于 2021-12-03 13:57:55

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

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

完整的文档在这里。

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

TLDR

合成文件的volumes节。它看起来像这样:

代码语言:javascript
复制
services:
  weaviate:
    image: waviate
    volumes:
      - localFolder:/var/lib/weaviate/data
票数 3
EN

Stack Overflow用户

发布于 2021-12-03 13:50:16

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

例如:

代码语言:javascript
复制
---
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
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70212381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档