我正在Docker上使用NodeJS和Nodemon。当我尝试直接在docker compose文件中使用nodemon命令运行NodeJS应用程序时,它将运行。
像这样(工作):[ 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
但是,当我尝试再次在其内部使用nodemon命令使用dev时,它不起作用。容器无法启动。我也尝试了以下方法,它也有效
像这样(工作):[ docker-compose ]
command: nodemon --exec npm start
我还是不明白,为什么nodemon命令在脚本开发器中不起作用
我在Swarm模式下使用Docker
这是我的两个文件
码头工人组成
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"
}
}
只需添加“。” 像这样在package.json中定义路径
"scripts": {
"start": "node ./source/index.js",
"dev": "nodemon ./source/index.js"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句