【问题标题】:Docker not reload nodejs app even I use nodemon?即使我使用 nodemon,Docker 也不会重新加载 nodejs 应用程序?
【发布时间】:2018-09-14 08:45:43
【问题描述】:

我遇到了一个问题,我花了两天时间仍未找到任何解决方案。我正在使用 docker 开发一个快速应用程序,但是当更改代码时,docker 不会重新加载应用程序。我必须向下和向上 docker-compose 才能看到更改。我在互联网上搜索了很多,但找不到任何适合我的问题的解决方案。

如果您能帮助我,我将不胜感激。非常感谢。

我的docker目录是这样的:

/api
   Dockerfile
/mongo
   Dockerfile
docker-compose.yml

这是我的 /api/Dockerfile 代码

FROM node:latest

RUN mkdir app
WORKDIR /app
COPY . /app
RUN npm install
EXPOSE 3000
CMD ["npm", "start"]

这是我的撰写文件

version: '2'
services:
  api:
    container_name: ats-express
    build: ./api
    volumes:
      - ../ats-api:/app
    ports:
      - "3000:3000"
    links:
      - mongo
    depends_on:
      - mongo

    restart: always

这是我在 express-api 的 package.json 中的 npm 启动脚本

"scripts": {
    "start": "nodemon ./bin/www"
  }

【问题讨论】:

    标签: node.js express docker docker-compose


    【解决方案1】:

    我以前也遇到过这种情况,我解决这个问题的方法是在 nodemon 命令中添加一个--legacy-watch 标志

    "scripts": {
        "start": "nodemon --legacy-watch ./bin/www"
    }
    

    【讨论】:

    • 它也适用于我。非常感谢您的帮助。我很感激
    • 我的:"scripts": { "dev": "nodemon --legacy-watch src/app.ts", } 不起作用
    • @M.Abulsoud 您能否确认您正在使用 Docker 的卷将数据挂载到您的容器中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2019-04-19
    • 2019-09-05
    相关资源
    最近更新 更多