我正在使用 Docker 和 fig 来构建 NodeJS dev-env。
当我使用 nodemon 监视 server.js 时,更改 server.js 不会重新启动服务器。
CMD ["nodemon", "/nodeapp/server.js"]
但是,当我从 nodemon 更改为 supervisor 时,它起作用了!
CMD ["supervisor", "/nodeapp/server.js"]
有谁知道问题出在哪里?
更多信息如下:
我的无花果文件夹结构:
app/server.js
package.json
node_modules/
fig.yml
Dockerfile
图.yml:
nodejs:
build: .
ports:
- "8080:8080"
Dockerfile:
RUN apt-get update --fix-missing
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
# NVM
RUN curl -sL https://deb.nodesource.com/setup | sudo bash - && \
apt-get install -y nodejs
VOLUME ./app:/nodeapp
WORKDIR /nodeapp
RUN rm /bin/sh && ln -s /bin/bash /bin/sh && \
npm install -g nodemon mocha supervisor
CMD ["nodemon", "/nodeapp/server.js"]
Server.js:(来自 NodeJS 网站的示例代码)
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello 12\n');
}).listen(8080);
console.log('Server running at http://127.0.0.1:8080/');