我使用以下命令在 Windows 11 WSL 上运行Memgraph :
docker run -it -p 7687:7687 -p 3000:3000 -e MEMGRAPH="--bolt-port=7687" -v mg_lib:/mnt/c/temp/memgraph/lib -v mg_log:/mnt/c/temp/memgraph/log -v mg_etc:/mnt/c/temp/memgraph/etc memgraph
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个节点,但我检查了这些文件夹仍然是空的。
如何将Memgraph数据持久化到本地硬盘?
小智 6
Memgraph 使用两种机制来确保数据持久性:
在 Memgraph 的整个运行期间定期拍摄快照。当触发快照时,整个数据存储将写入磁盘。预写日志保存文件发生的所有数据库修改。当使用 Docker 运行 Memgraph 时,这两种机制都依赖于用户创建在启动 Memgraph 时存储这些数据的卷。
为每个卷指定两个字段。第一个是卷的名称,它在给定主机上是唯一的。在你的例子中,这将是 mg_lib、mg_log 和 mg_etc。第二个字段是文件或目录在容器中挂载的路径。对于 Memgraph 来说,那就是:
/var/lib/memgraph(这是保存耐久性相关文件的地方)/var/log/memgraph(日志)/etc/memgraph(配置设置)给定这些路径,使用 Docker 运行 Memgraph 的命令是:
sudo docker run -it -p 7687:7687 -p 3000:3000 -v mg_lib:/var/lib/memgraph -v mg_log:/var/log/memgraph -v mg_etc:/etc/memgraph memgraph
Run Code Online (Sandbox Code Playgroud)
默认情况下,主机上的卷可以在以下位置找到:
\\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
Run Code Online (Sandbox Code Playgroud)
我希望这个答案可以提供一些清晰的信息。