package.json
{
"name": "nodemon-docker-test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start:express": "node ./index.js",
"start": "nodemon"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"nodemon": "^1.19.2"
}
}
Dockerfile
FROM node:slim
WORKDIR /app
COPY package*.json ./
RUN apt-get update
RUN npm install
COPY . /app
# -or-
# COPY . .
EXPOSE 1337
CMD ["npm", "start"]
docker-compose.yml
version: '3.1'
services:
node:
build: .
volumes:
- ./:/app
ports:
- 1337:1337
working_dir: /app
expose:
- "1337"
我不明白我在这里做错了什么,server.js在docker中运行命令后与nodemon一起运行,但它没有观察我在server.js中做的改变,或者它在做了改变后没有重新启动服务器,如果我做错了什么,请纠正我。
你需要告诉nodemon要运行什么文件,就像这样。
"start": "nodemon ./index.js"