cph*_*ill 7 heap-memory node.js docker google-cloud-run
我有一个节点 NextJS 应用程序,我正在使用 Docker 对其进行容器化,然后部署到 GCP Cloud Run。虽然 Docker 在本地运行没有问题,但在部署到 Cloud Run 时会遇到错误。当我查看错误日志时,它似乎经历了各种步骤,例如安装软件包和运行迁移,没有出现问题,但随后意外失败并显示错误消息:
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
Uncaught signal: 6, pid=13, tid=13, fault_addr=0.
Uncaught signal: 6, pid=1, tid=1, fault_addr=0.
Container terminated on signal 6.
Run Code Online (Sandbox Code Playgroud)
我发现使用如此简单的应用程序遇到这种情况有点奇怪,我想知道这意味着什么以及防止这种情况发生的选项(更小的docker大小?)或解决(扩展节点内存?)
不确定需要哪些附加信息,但可能相关的是
Package.json(脚本):
"scripts": {
"dev": "nodemon server.js",
"build": "next build",
"start": "NODE_ENV=production npm run db:migrate && node server.js",
"test": "jest --watch",
"test:ci": "jest --ci",
"db:migrate": "node_modules/.bin/sequelize db:migrate",
"db:migrate:undo": "node_modules/.bin/sequelize db:migrate:undo",
"db:migrate:undo:all": "node_modules/.bin/sequelize db:migrate:undo:all",
"db:seed": "node_modules/.bin/sequelize db:seed:all",
"db:seed:undo:all": "node_modules/.bin/sequelize db:seed:undo:all"
},
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
version: "3.9"
services:
redis:
image: redis:alpine
database:
image: postgres
ports:
- "5432:5432"
environment:
POSTGRES_USER: 'postgres'
POSTGRES_PASSWORD: ''
POSTGRES_DB: ${DB_DATABASE}
volumes:
- nextjs_auth_boilerplate:/var/lib/postgresql/data/ # persist data even if container shuts down
app:
image: nextjs-auth-boilerplate
build: .
depends_on:
- redis
- database
command: ["./wait-for-it.sh", "database:5432", "--", "npm", "start"]
ports:
- "3000:3000"
environment:
- REDIS_HOST=redis
- DB_HOSTNAME=database
volumes:
nextjs_auth_boilerplate:
Run Code Online (Sandbox Code Playgroud)
如果不知道用于将代码部署到 Cloud Run 的命令,则很难判断出了什么问题,但您发布的文件不是Dockerfile. 这是一个 docker compose 文件,您无法在 Google Cloud Run 中使用 docker-compose.yml。这意味着您的 Cloud Run 服务既没有 Redis,也没有 PostgreSQL。
我的大胆猜测是,您部署了 NextJS 应用程序,然后db:migrateSequelize CLI 的命令找不到数据库并最终发出SIGABRT(信号 6)。
您可以尝试node server.js使用更大的 V8 内存堆执行(请参阅
Node.js 堆内存不足),但我怀疑这是否能解决您的问题。
可能相关:
| 归档时间: |
|
| 查看次数: |
3629 次 |
| 最近记录: |