You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除Dgraph数据库?Docker部署下的数据与Schema操作咨询

Dgraph Docker部署的数据清理方案

嘿,咱们来一步步解决你用官方Docker镜像运行Dgraph时遇到的数据清理问题:

1. 如何完全删除Dgraph数据库?

Dgraph的所有数据(包括Schema、节点、边和底层存储文件)默认存在容器的/dgraph目录下,如果你挂载了本地卷或Docker命名卷,数据会存在对应的外部存储里。要彻底删除整个数据库,按以下步骤操作:

  • 先停止运行中的Dgraph容器:
    docker stop <你的Dgraph容器名/容器ID>
    
  • 如果没有挂载外部数据卷:直接删除容器就能清除所有数据,因为数据都存在容器内部:
    docker rm <你的Dgraph容器名/容器ID>
    
  • 如果挂载了本地目录作为数据卷(比如启动命令里有-v ./dgraph-data:/dgraph):除了删除容器,还要清空本地挂载的目录:
    rm -rf ./dgraph-data/*
    
  • 如果用的是Docker命名卷:删除对应的卷即可彻底清除数据:
    docker volume rm <你的Dgraph数据卷名称>
    

2. 只删数据保留Schema,或同时删除数据与Schema?

完全不用删除镜像重建!Dgraph本身提供了API和命令行工具来做精准清理:

  • 仅删除所有数据,保留Schema:
    可以通过HTTP API发送请求,直接清除所有节点和边,但保留已定义的Schema结构:
    curl -X POST localhost:8080/alter -d '{"drop_all": false, "drop_data": true}'
    
    (注意替换localhost:8080为你的Dgraph Alpha节点的实际地址)
  • 同时删除数据和Schema:
    要是想彻底清空一切,回到初始状态,用这个HTTP API请求:
    curl -X POST localhost:8080/alter -d '{"drop_all": true}'
    
    或者进入容器内部执行命令:
    docker exec -it <你的Dgraph容器名/容器ID> /bin/bash
    dgraph alter --drop_all
    

执行完这些操作后,你的Dgraph实例就会回到对应的状态,不需要重启容器(当然重启也没问题),完全不用折腾镜像重建那一套~

内容的提问来源于stack exchange,提问作者Errol Hassall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:12:22