首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当docker容器中的代码发生更改时,nodemon不会重新启动服务器

当docker容器中的代码发生更改时,nodemon不会重新启动服务器
EN

Stack Overflow用户
提问于 2020-03-11 17:47:21
回答 2查看 1.2K关注 0票数 0

我在docker容器中运行我的node.js应用程序,并且nodemon不会在更改时重新加载。这是我的dockerfile:

代码语言:javascript
复制
WORKDIR /app
COPY package*.json ./

RUN yarn install
COPY . /app

EXPOSE 8080
CMD ["yarn", "dev"] 

我正在使用这个命令构建一个镜像:

docker image build -t test7 .

然后用以下命令运行它:

docker run -it -v "$(pwd)/app:/app/target_dir" test7 bash

我在容器中做了yarn dev,它启动了服务器一次,但没有重新加载。

这是package.json文件:

代码语言:javascript
复制
    "name": "self-learning",
      "version": "1.0.0",
      "main": "index.js",
      "license": "MIT",
      "scripts": {
        "start": "node index.js",
        "dev": "nodemon --legacy-watch index.js"
      },
      "dependencies": {
        "cors": "^2.8.5",
        "express": "^4.17.1",
        "express-winston": "^4.0.3",
        "multer": "^1.4.2",
        "nodemon": "^2.0.2",
        "pg": "^7.18.2",
        "winston": "^3.2.1"
      }
    }

有什么办法可以绕过它吗?在不重新构建容器的情况下,如何查看更改?

EN

回答 2

Stack Overflow用户

发布于 2021-10-10 17:02:07

我认为,您需要包含一个入口点指令。对我来说,更改入口点指令起作用了。一开始它不起作用,但是当我加入--legacy-watch标志时,它开始起作用了。

更改入口点,如下所示

代码语言:javascript
复制
ENTRYPOINT [ "nodemon", "--inspect=0.0.0.0","./src/server.js" ]

代码语言:javascript
复制
ENTRYPOINT [ "nodemon", "--legacy-watch", "--inspect=0.0.0.0", "./src/server.js"]

我的完整docker文件如下所示。这是一个多目标docker文件。

代码语言:javascript
复制
FROM node:alpine as debug

WORKDIR /work/

COPY ./package.json /work/package.json
RUN npm install
RUN npm install -g nodemon

COPY ./ /work/src/

#ENTRYPOINT [ "nodemon", "--inspect=0.0.0.0","./src/server.js" ]
ENTRYPOINT [ "nodemon", "--legacy-watch", "--inspect=0.0.0.0", "./src/server.js"]

FROM node:alpine as prod

WORKDIR /work/
COPY ./package.json /work/package.json
RUN npm install
COPY ./ /work/

CMD node .
票数 1
EN

Stack Overflow用户

发布于 2020-03-11 20:25:08

我想你已经跑成这样了

代码语言:javascript
复制
docker run -it -v "$(pwd)/app:/app" test7

因为您复制了/app目录中的所有文件,而不是/app/target_dir

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60633161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档