如何在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