NodeJS dev-env oluşturmak için Şekil ile Docker kullanıyorum.Nodemon Docker ortamında çalışmıyor
Sunucu.js'yi izlemek için nodemon kullanırken, sunucu.js'yi değiştirmek sunucuyu yeniden başlatmaz.
CMD ["nodemon", "/nodeapp/server.js"]
Ancak nodemon'dan denetleyiciye değişirken, o zaman işe yaradı!
CMD ["supervisor", "/nodeapp/server.js"]
Sorunun nerede olduğunu bilen var mı?
Daha verileri şöyledir:
Benim incir klasör yapısı:
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: (NodeJS web sitesinden örnek kod)
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/');
Cevabınız için teşekkür ederiz. Dockerfile'ımda bir hata var. Aslında, istediğim: Benim nodejs env Docker kapsayıcısında. Ana sistemdeki işletim sistemindeki proje klasöründeki kodumu değiştirirken, kap değiştirilen dosyayı algılayacak ve ardından otomatik olarak server.js dosyasını yeniden başlatacaktır. Sorunumu iyi tanımlamadığım benim hatam. Can Docker bunu yapabilir mi? – kerkerj