用docker-compose运行pm2时节点错误ENOSPC

当我的pm2服务启动时出现以下错误:

Error: watch /usr/src/app/node_modules/zip-stream/node-modules/loadash/... ENOSCP at exports._errnoException (util.js:1034:11) at FSWatcher.start (fs.js:1400:19) at Object.fs.watch (fs.js:1426:11) at createFsWatchInstance (/usr/local/lic/node_modules/pm2/node_modules/chokidar/lib/nodefs-handler.js:37:15) .... at FSReqWrap.oncomplete (fs.js:114:15) 

只有在构build和运行docker时才会发生这种情况:

docker – 撰写 – build立

如果我只是build立docker,然后在docker里面命令:

docker-compose exec downtorrent_back_dev bash

sh start.sh

那么,它启动服务没有任何问题。

这是docker-compose.yml文件:

 version: '3' services: downtorrent_back: container_name: downtorrent_back_dev build: context: . dockerfile: Dockerfile-back.dev volumes: - ./back:/usr/src/app expose: - "10002" - "9090" - "51413" ports: - "10002:10002" - "9090:9090" 

这个启动服务的脚本start.sh

 #!/bin/bash # Fix limit on system for watching files echo fs.inotify.max_user_watches=524288 | tee -a /etc/sysctl.conf && sysctl -p npm dedupe # Start transmission torrent client service transmission-daemon start # Start service pm2 start start.config.json --only downtorrent --env dev --no-daemon 

这是PM2configuration文件

 { "apps": [{ "name": "downtorrent", "script": "./app.js", "watch": true, "ignoreWatch": ["newrelic_agent.log"], "instances": 2, "log_date_format" : "DD-MM-YYYY HH:mm Z", "exec_mode": "cluster", "env": { "NODE_ENV": "dev", "APP_PORT": 10002 } }] } 

正如你所看到的,我已经在ENOSCP问题中尝试了这个问题中提出的解决scheme,但是仍然无法正常工作。