I'm using Docker with fig to build NodeJS dev-env.
While I using nodemon to watch the server.js, changing server.js won't restart the server.
CMD ["nodemon", "/nodeapp/server.js"]
But while I changed from nodemon to supervisor, then it worked!
CMD ["supervisor", "/nodeapp/server.js"]
Does anyone know where the problem is?
More informations are below:
My fig folder structure:
app/server.js
package.json
node_modules/
fig.yml
Dockerfile
fig.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: (sample code from NodeJS website)
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/');
There is a special option to enable nodemon's legacy watching mode:
nodemon --legacy-watch