M1芯片MacBook Air运行Docker中Memgraph 2.1.1报错求助
在M1芯片MacBook Air的Docker中运行Memgraph 2.1.1的解决方案
问题现象
执行命令docker run -p 7687:7687 memgraph/memgraph时出现报错:
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested You are running Memgraph v2.1.1 To get started with Memgraph, visit https://memgr.ph/start qemu: uncaught target signal 6 (Aborted) - core dumped
同时Docker日志中存在关键错误:
[2023-02-13 11:18:03.589] [memgraph_log] [critical] Assertion failed in file /memgraph/src/utils/async_timer.cpp at line 144. Expression: 'timer_create(CLOCK_MONOTONIC, ¬ification_settings, &timer_id_) == 0' Message: 'Couldn't create timer: (22) Invalid argument'
解决方案
方案1:使用ARM64兼容镜像(推荐)
Memgraph 2.1.1官方提供了适配ARM64架构的镜像,直接使用该镜像可避免qemu模拟带来的定时器问题:
docker run -p 7687:7687 memgraph/memgraph:2.1.1-arm64
方案2:临时绕过AMD64镜像的定时器错误(不推荐)
若必须使用AMD64架构镜像,可通过禁用真实定时器启动容器:
docker run --platform linux/amd64 -p 7687:7687 -e MEMGRAPH="--utils-use-real-timers=false" memgraph/memgraph:2.1.1
该方案通过关闭真实定时器断言绕过错误,但会影响部分功能精度,仅作为临时替代方案。
验证
容器启动后,通过Bolt协议客户端连接本地7687端口,确认Memgraph服务正常响应即可。
内容的提问来源于stack exchange,提问作者Juliette Gia
相关产品推荐
相关产品推荐

