docker FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
错误表示在 Docker 容器中运行的 JavaScript 程序超出了可用的内存限制。这通常发生在 Node.js 应用程序中,尤其是在处理大量数据或有内存泄漏的情况下。
解决方法: 增加 Node.js 的内存限制
- 可以通过设置
--max-old-space-size
标志来增加 Node.js 的内存限制。例如,将内存限制增加到 4GB:
node --max-old-space-size=4096 your_script.js
- 在 Docker 容器中,可以通过修改 Dockerfile 或在运行容器时传递此参数:
Dockerfile 示例
FROM node:14
# 设置内存限制
ENV NODE_OPTIONS="--max-old-space-size=4096"
WORKDIR /app
COPY . /app
RUN npm install
- 运行容器时传递参数:
docker run -e NODE_OPTIONS="--max-old-space-size=4096" your_image
文章评论