如何在Docker容器中forksubprocess
我试图用execPath,execArgv选项来做到这一点 。
subprocess正在运行,但是我有一个subprocess的问题。
process.send()函数没有被定义,我不确定,但它可能是一个与容器内的孩子的init IPC通道的问题。
parent.js
const fork = require('child_process').fork; const child = fork('child.js', { execPath: 'docker', execArgv: ['run', '-v', 'C:/Users/MIS/Desktop/ChildProcess/:/usr/src/app', '-w', '/usr/src/app','--ipc=host','-it','--rm', 'node:6.10.3-alpine', 'node'], stdio: [0, 1, 2, 'ipc'] }); const data = { age: 15 }; child.on('message', (m) => { console.log('PARENT got message:', m); }); child.send(data);
Child.js
process.on('message', (m) => { m.age = 20; process.send({m}); }); process.send({msg:'msg'});
错误
/usr/src/app/child.js:6
process.send({msg:'msg'}); ^
TypeError:process.send不是一个函数
at Object.<anonymous> (/usr/src/app/child.js:6:9) at Module._compile (module.js:570:32) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:390:7) at startup (bootstrap_node.js:150:9) at bootstrap_node.js:505:3
- Dockerfile与非主分支嵌套
- 在自动构buildDocker云中使用ccache
- 容器没有提及dockerfile – 多个容器
- 从现有的虚拟机创builddocker镜像
- 在Docker容器中运行一个命令时奇怪的“没有这样的文件或目录”错误
- Docker容器中的应用程序如何访问位于同一LAN中的另一台服务器上的数据库
- docker无法在networkingbr1上创build端点xxx:networkingxxx不存在
- Selenium节点泊坞窗图像NODE_MAX_SESSION和NODE_MAX_INSTANCES envvariables
- gcloud docker – 推送vertificate错误