Memgraph Docker Compose部分配置未生效问题求助
问题描述
我正在使用Docker Compose部署Memgraph Platform实例,对应的docker-compose.yml内容如下:
version: "3" services: memgraph-platform: image: "memgraph/memgraph-platform" ports: - "7687:7687" - "3000:3000" - "7444:7444" volumes: - mg2_lib:/var/lib/memgraph - mg2_log:/var/log/memgraph - mg2_etc:/etc/memgraph environment: - MEMGRAPH="--bolt-session-inactivity-timeout=9000 --query-execution-timeout-sec=1000 --log-level=TRACE" entrypoint: ["/usr/bin/supervisord"] volumes: mg2_lib: mg2_log: mg2_etc:
启动实例后,在Memgraph Lab中执行SHOW CONFIG;命令,发现--bolt-session-inactivity-timeout配置已正确生效,但--query-execution-timeout-sec和--log-level配置未被应用。
解决方法
移除环境变量值的多余引号
你在MEMGRAPH环境变量值外层添加了额外的双引号,这会导致Shell解析参数时出现异常,部分参数无法被Memgraph正确识别。修改后的环境变量定义如下:environment: - MEMGRAPH=--bolt-session-inactivity-timeout=9000 --query-execution-timeout-sec=1000 --log-level=TRACE验证参数生效方式
--query-execution-timeout-sec:该参数限制单条查询的最大执行时长(单位:秒),你可以执行一个故意耗时超过1000秒的测试查询(比如复杂的遍历操作),查看是否会被自动终止,以此验证是否生效。--log-level=TRACE:该级别会生成大量日志,直接查看容器日志即可确认:
如果日志中出现大量带有docker-compose logs memgraph-platformTRACE标签的输出,说明配置已生效。
检查自定义entrypoint的冲突
Memgraph Platform的默认entrypoint已经处理了MEMGRAPH环境变量的参数传递逻辑,自定义entrypoint: ["/usr/bin/supervisord"]可能会干扰这一流程。如果没有特殊需求,建议移除这一行,使用容器默认的启动流程。重启容器应用修改
修改docker-compose.yml后,执行以下命令重启容器:docker-compose down && docker-compose up -d重启完成后,再次在Memgraph Lab中执行
SHOW CONFIG;即可验证所有配置是否正常生效。
内容的提问来源于stack exchange,提问作者Networkhopper
相关产品推荐
相关产品推荐

