节点和 docker 应用程序因 SIGSEGV 信号而重新启动

问题描述 投票:0回答:1

我有一个节点应用程序正在使用 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: { }
node.js docker segmentation-fault
1个回答
0
投票

我解决了更改节点版本的错误。我也使用了 alpine 版本node:18-alpine,并将其更改为node:20。这对我有用。

© www.soinside.com 2019 - 2024. All rights reserved.