我正在尝试对我的nodejs express应用程序进行docker化,但是在设置nodemon
和npm 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'