【发布时间】:2019-12-25 16:36:07
【问题描述】:
我将 nodemon 与 docker-compose 一起使用。 这是我的 Dockerfile:
FROM node:10
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "start"]
我的 docker-compose.yml
version: '3'
services:
app:
build: .
volumes:
- .:/usr/src/app
- /usr/src/app/node_modules
container_name: docker-node-mongo
restart: always
ports:
- 3000:3000
- 9229:9229
command: npm start
links:
- mongo
- redis
mongo:
container_name: mongo
image: mongo
ports:
- "27017:27017"
redis:
image: redis:alpine
volumes:
- /var/redis/data:/data
还有我的 package.json 脚本:
{
"scripts": {
"start": "nodemon --inspect=0.0.0.0 index.js"
}
}
根据我工作的 docker 容器内的代码,我的代码正在更新,但我没有任何重新加载。
【问题讨论】:
-
你可以通过 ssh 进入容器并检查你的 package.json 吗?
-
@federkun
{ "name": "docker-node-mongo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "nodemon --inspect=0.0.0.0 index.js" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "bluebird": "^3.5.5", "body-parser": "^1.18.3", "ejs": "^2.6.1", "express": "^4.16.3", "mongoose": "^5.2.7", "nodemon": "^1.19.1", "redis": "^2.8.0" } } -
您必须在您的 dockerfile 中添加
nodemon作为全局变量,即run npm install -g nodemon -
@Intellidroid
FROM node:10 WORKDIR /usr/src/app COPY package*.json ./ RUN npm install -g nodemon RUN npm install COPY . . CMD ["npm", "start"]如果你是这个意思,它就行不通了。 -
您是否在重新启动 docker-compose 时进行了重建?
docker-compose up --build
标签: node.js docker docker-compose nodemon