如何在我的 node.js 应用程序中将 nodemon 与 docker 一起使用?

How do I use nodemon with docker in my node.js application?

我是 Docker 和编码的新手。我已经将它添加为开发依赖项,但每次更改代码时我仍然必须构建图像。我试过查找这个但没有找到 suitable/working 的解决方案,因为我正在使用 process.json 文件。

我的Docker文件:

FROM node:12.14.1-alpine

 # app name
ENV APP_NAME=mock-api
ENV WORK_DIR /deploy/${APP_NAME}

 # Create app directory
RUN mkdir -p ${WORK_DIR} && \
    chown node:node ${WORK_DIR}

RUN apk add --update gnupg

WORKDIR ${WORK_DIR}

COPY ["yarn.lock", "package.json", "./"]
RUN yarn global add pm2 && yarn install --prod --frozen-lockfile && yarn cache clean

COPY --chown=node:node . .

EXPOSE 3000

USER node

CMD ["pm2-runtime", "--no-daemon", "--raw", "process.json"]

Process.json :

{
  "apps": [
    {
      "name": "mock-api",
      "script": "./app.js"
    }
  ]
}

package.json:

{
  "name": "mock-api",
  "version": "1.0.0",
  "description": "Mock API for the testing environment",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "arorasannidhya@gmail.com",
  "license": "ISC",
  "dependencies": {
    "koa": "2.12.0",
    "koa-joi-router": "^6.0.2",
    "koa-logger": "3.2.1",
    "koa-router": "9.0.1",
    "openpgp": "4.10.4",
    "pm2": "^4.2.3",
    "uuid": "^7.0.2"
  },
  "devDependencies": {
    "nodemon": "^2.0.4"
  }
}

Nodemon 是 运行 节点应用程序的实用程序(它监视目录中的文件,当更改 运行s index.js 或 app.js (无论您的根是什么文件))

它不能用于构建 docker 图像,您需要这样做 https://vsupalov.com/rebuilding-docker-image-development/#:~:text=In%20Conclusion,see%20the%20results%20right%20away