如何在Docker节点项目中使用nodemon?

时间:2018-08-14 02:38:04

标签: node.js docker docker-compose nodemon

我正在使用postgres DB创建一个docker节点应用程序。这是我的Dockerfile

# Use an official node runtime as a parent image
FROM node:10

# Set the working directory to /home/app
WORKDIR /home/app/

# Copy package.json to /home/app
COPY package.json .

# Bundle app source to /home/app
COPY . .

# If you are building your code for production
# RUN npm install --only=production
RUN npm install

# Make port 8000 available to the world outside this container
EXPOSE 8000

CMD npm run dev

还有我的docker-compose.yml文件:

version: "2"
services:
  brewmaster: 
    build: .
    image: myUser/brew_backend:latest
    ports: 
      - 7000:8000
    depends_on:
      - postgres
    environment:
      - DATABASE_URL=postgres://postgres:password@db:5432/brewmaster
      - PORT=3000
    volumes:
      - .:/home/app/

  postgres:
    image: postgres
    restart: always
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=brewmaster

所以我已经同步了卷,因此当我进行本地更改并保存时,可以在容器中看到更改。但是,当我刷新网页时,看不到更改。

在我的package.json文件中,我有这行来运行nodemon:

 "scripts": {
    "dev": "nodemon server.js"
  }

在代码中保存更改后,如何在导航器中查看更改?我可以正确使用nodemon吗? (我在Dockerfile中运行npm run dev

我在带有Hyper-V的Windows上使用docker。

编辑

我通过将其放入package.json文件中找到了解决方案:

"scripts": {
    "dev": "nodemon -L --inspect=0.0.0.0:7000 server.js"
  }

因此nodemon监听主机端口7000并检测文件更改。

0 个答案:

没有答案