我有一个节点应用程序正在使用 docker 运行,问题是,我的应用程序不断重新启动并出现 SIGSEGV 错误。
npm ERR! path /usr/src/app
npm ERR! command failed
npm ERR! signal SIGSEGV
npm ERR! command sh -c node app.js
上次工作了 24 至 26 小时,但之后又重新启动。我该如何解决这个问题?
这是我的 docker 文件和 docker-compose 文件
Docker 文件
FROM node:16-alpine3.13
WORKDIR /usr/src/app
COPY package.json ./
RUN npm install
COPY . .
CMD ["npm", "start"]
docker-compose
version: '3.9'
services:
mongodb:
image: mongo
container_name: mongodb
restart: always
environment:
TZ: "Asia/Tehran"
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
expose:
- ${MONGO_EXPOSE_PORT}
volumes:
- database:/data/db
redis:
image: redis
environment:
TZ: "Asia/Tehran"
node:
build: ./
container_name: node_application
ports:
- ${NODE_LOCAL_PORT}:${NODE_DOCKER_PORT}
restart: always
depends_on:
- mongodb
volumes:
- node_uploads:/usr/src/app/public/uploads/
- ${PWD}:/usr/src/app/
- /usr/src/app/node_modules
environment:
TZ: "Asia/Tehran"
volumes:
database: { }
node_uploads: { }
我解决了更改节点版本的错误。我也使用了 alpine 版本node:18-alpine,并将其更改为node:20。这对我有用。