Docker中运行的Memgraph重启后数据是否丢失?Windows 10环境相关问询
Docker中Memgraph的数据持久化问题(Windows 10环境)
默认行为:数据会丢失
如果直接用默认命令启动Memgraph容器,未配置数据持久化,以下场景都会导致数据丢失:
- 重启Memgraph容器:容器的存储层是临时的,容器销毁重建后,内部数据会被重置。
- 重启Docker服务/Windows 10电脑:容器停止后,未持久化的数据会随容器临时存储层被清理,重启后无法恢复。
配置持久化:让数据不丢失
要避免数据丢失,必须通过Docker卷或绑定挂载本地目录,将Memgraph的数据目录映射到容器外部:
方法1:使用Docker管理卷(推荐)
Docker卷由Docker统一管理,稳定性更高,适合大多数场景。启动命令如下:
docker run -d -p 7687:7687 -v memgraph-data:/var/lib/memgraph memgraph/memgraph-platform
这里memgraph-data是Docker创建的卷,会将容器内的/var/lib/memgraph(Memgraph默认数据存储目录)与卷绑定。无论容器重启、Docker服务重启还是电脑重启,数据都会保存在卷中,不会丢失。
方法2:绑定挂载本地目录
如果需要直接在Windows本地访问Memgraph的数据文件,可以绑定本地文件夹:
- 在Windows中创建一个本地目录,比如
C:\memgraph-data - 使用以下命令启动容器:
docker run -d -p 7687:7687 -v C:\memgraph-data:/var/lib/memgraph memgraph/memgraph-platform
Docker会自动处理Windows路径与容器内Linux路径的转换,本地目录与容器数据目录实时同步,数据持久化生效。
验证持久化是否生效
- 启动容器后,通过客户端连接Memgraph,创建一些测试节点/关系
- 停止容器:
docker stop <你的容器ID> - 重新启动容器:
docker start <你的容器ID> - 再次连接查询,确认数据是否存在;也可以重启Docker服务或电脑后重复上述步骤验证。
内容的提问来源于stack exchange,提问作者KWriter
相关产品推荐
相关产品推荐

