官方文档:https://weaviate.io/developers/weaviatehttps://weaviate.io/developers/weaviate

1. 创建数据存放文件夹

我们需要在宿主机创建一个目录,用来永久保存 Weaviate 的数据。

# 创建多级目录
sudo mkdir -p /data/yyq/weaviate/data

# 【关键】设置权限,确保 Docker 容器有权限写入
# 方法 A: 简单粗暴,给所有权限 (测试环境推荐)
sudo chmod -R 777 /data/yyq/weaviate/data

# 方法 B: 指定用户 (生产环境推荐,但需知道容器内用户ID,通常 777 最省事)
# sudo chown -R 1000:1000 /data/yyq/weaviate/data

2. 创建 docker-compose.yml 文件

使用 cat 命令直接生成文件,避免手动编辑出错。
(注意:我已经修正了你提供的 YAML 中的一些潜在格式问题,并保留了指定的华为云镜像)

cat > docker-compose.yml <<EOF
version: '3.4'
services:
  weaviate:
    command:
      - --host
      - 0.0.0.0
      - --port
      - '8080'
      - --scheme
      - http
    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/semitechnologies/weaviate:1.35.3
    ports:
      - "8054:8080"
      - "50051:50051"
    volumes:
      - /data/yyq/weaviate/data:/var/lib/weaviate
    restart: on-failure
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
      PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
      CLUSTER_HOSTNAME: 'node1'
      # 如果是单节点运行,通常不需要额外配置向量模块,默认使用 none 或指定一个
      DEFAULT_VECTORIZER_MODULE: 'none' 
EOF

3. 验证文件内容

检查文件是否创建成功且格式正确:

cat docker-compose.yml

4. 启动 Weaviate

# 后台启动
docker compose up -d

# 查看启动日志 (按 Ctrl+C 退出查看模式,容器会继续运行)
docker compose logs -f

如果看到 listening on port 8080 类似的日志,说明启动成功。

5. 验证服务

# 测试端口是否通 (替换为你服务器的 IP)
curl http://localhost:8054/v1/nodes

如果返回一大段 JSON 信息,包含 "status": "HEALTHY",则部署成功!

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐