如何在Docker中限制单个Memgraph Platform实例的内存?
解决Memgraph Platform容器内存限制的命令错误问题
错误原因
你执行的命令中,--memory-limit=50被Docker误认为是容器启动时要执行的可执行命令,但这个参数并非独立可执行文件,因此出现"executable file not found in $PATH"的错误。
两种正确的限制方式
方式一:限制容器整体内存(Docker层面)
使用Docker自带的资源限制参数--memory,可以限制整个容器的内存使用量,单位支持b(字节)、k(千字节)、m(兆字节)、g(吉字节)。例如限制容器最多使用500MB内存:
docker run -it -p 7687:7687 -p 3000:3000 -p 7444:7444 --memory=500m memgraph/memgraph-platform
方式二:限制Memgraph进程自身内存(应用层面)
Memgraph自身支持通过配置参数限制内存,由于memgraph-platform镜像包含多个服务,需要将参数正确传递给memgraph进程:
- 直接指定启动memgraph并传递参数:
docker run -it -p 7687:7687 -p 3000:3000 -p 7444:7444 memgraph/memgraph-platform memgraph --memory-limit=50
- 或者使用环境变量(适配部分版本):
docker run -it -p 7687:7687 -p 3000:3000 -p 7444:7444 -e MEMGRAPH_MEMORY_LIMIT=50 memgraph/memgraph-platform
注:
--memory-limit=50的单位默认是MB,具体取值范围可参考Memgraph官方说明。
内容的提问来源于stack exchange,提问作者ShymPi1999
相关产品推荐
相关产品推荐

