저는 NodeJS dev-env를 빌드하기 위해 그림과 함께 Docker를 사용하고 있습니다.Nodemon이 Docker 환경에서 작동하지 않습니다.
nodemon을 사용하여 server.js를 보는 동안 server.js를 변경해도 서버가 다시 시작되지 않습니다.
CMD ["nodemon", "/nodeapp/server.js"]
하지만 노르 드몬에서 관리자로 바뀌었지만 효과가있었습니다.
CMD ["supervisor", "/nodeapp/server.js"]
어디에서 문제가 발생했는지 아는 사람이 있습니까?
더 많은 정보는 다음과 같다
내 그림 폴더 구조 :
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 웹 사이트에서 샘플 코드)
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/');
답장을 보내 주셔서 감사합니다. Dockerfile에 실수가 있습니다. 사실, 원하는 것은 다음과 같습니다. 내 nodejs env가 Docker 컨테이너에 있습니다. 호스트 OS의 프로젝트 폴더에서 코드를 변경하는 동안 컨테이너가 변경된 파일을 감지하고 자동으로 server.js를 다시 시작합니다. 내 실수는 내 문제를 잘 설명하지 않았다. Docker가 그렇게 할 수 있습니까? – kerkerj