Я работаю с NodeJS и Nodemon в Docker. Когда я пытаюсь запустить приложение NodeJS, используя команду nodemon непосредственно в файле docker compose, оно запускается.
Вот так (работает): [ docker-compose ]
command: nodemon source/index.js
Но когда я использую скрипт из package.json, он не работает
Вот так (не работает): [ docker-compose ]
command: npm run dev
Где мой файл package.json
"scripts": {
"start": "node source/index.js",
"dev": "nodemon source/index.js"
}
Я пробовал разные вещи, когда я просто запускаю скрипт запуска без nodemon, он работает
Вот так (работает): [ docker-compose ]
command: npm run start
Но когда я пытаюсь снова использовать dev с командой nodemon , это нене работаетКонтейнер не запускается. Я также попробовал следующее, и это также работает
Вот так (работает): [ docker-compose ]
command: nodemon --exec npm start
Я до сих пор не понимаю, почему nodemon команда не работает внутри скрипта dev
Я использую Docker в режиме Swarm
Вот мои оба файла
docker-compose
version: '3.7'
services:
node-service:
image: node-img:1.0
ports:
- 4000:4000
working_dir: "/node-dir"
volumes:
- ./node-dir/source:/node-dir/source
networks:
- ness-net
command: npm run dev
networks:
ness-net:
package.json
{
"name": "node-pkg",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"start": "node source/index.js",
"dev": "nodemon source/index.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"nodemon": "^1.19.4"
}
}