【问题标题】:How do I use nodemon with docker in my node.js application?如何在我的 node.js 应用程序中将 nodemon 与 docker 一起使用?
【发布时间】:2020-12-28 12:40:04
【问题描述】:

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

我的 Dockerfile :

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"
  }
}

【问题讨论】:

  • 您展示的是生产部署设置;我不会尝试在其中进行实时编辑。使用一个普通的主机开发环境,当它工作时(通过它的单元测试,可以处理简单的请求,等等。)运行docker build来构建一个镜像。

标签: node.js docker dockerfile package.json nodemon


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2019-12-25
    • 2020-04-03
    • 2021-06-30
    • 2017-01-13
    • 1970-01-01
    • 1970-01-01
    • 2019-07-05
    • 2018-07-05
    • 2012-05-20
    相关资源
    最近更新 更多