如何在Docker for NodeJS应用程序中正确设置“卷”?

时间:2019-06-03 15:53:20

标签: node.js npm docker-compose nodemon

我正在尝试对我的nodejs express应用程序进行docker化,但是在设置nodemonnpm install时遇到了问题。

我尝试了以下几种不同的路径:work_dir,volumes,COPY等。似乎没有任何作用。

docker_compose.yml

version: "3"
services:
  dev:
    build: .
    command: npm run dev
    ports:
      - 83:80
    volumes:
      - ./:/home/node/app

Dockerfile


WORKDIR /home/node/app

COPY package*.json ./
RUN npm install

COPY . .
CMD [ "npm", "start" ]

package.json

{
  [...]
  "main": "index.js",
  "scripts": {
    "start": "nodemon -L src/app.js --env=portal",
    "dev": "nodemon -L src/app.js --env=rc"
  },
  "devDependencies": {
    "nodemon": "^1.19.1"
  },
  "dependencies": {
    "@sentry/node": "^5.3.0",
    "axios": "^0.18.0",
    "express": "^4.17.1",
    "locutus": "^2.0.10",
    "request": "^2.88.0"
  }
}

取决于我在不同设置中尝试的方法(路径),我似乎在此设置上遇到了一些错误:

dev_1 | Error: Cannot find module '/home/node/app/src/app.js'

或这个:

dev_1 | npm ERR! enoent ENOENT: no such file or directory, open '/home/node/app/package.json'

0 个答案:

没有答案