扩展Docker容器内的Node实例

时间:2016-08-30 18:05:17

标签: node.js docker

我正在设置我的后端,这是一个在docker容器内运行的NodeJS应用程序。

在我的app.js检查它正在运行的VM之前,为x个可用核心启动x个实例。

现在它在docker容器内运行,我应该将代码留在哪里,或者docker会以某种方式管理它自己,并且节点应用程序能够看到它可用的内核数量吗?

以下是我正在使用的代码

#!/usr/bin/env node
var debug = require('debug')('node-exampleapp');

var cluster = require('cluster')

if (cluster.isMaster) {
  // Count the machine's CPUs
  var cpuCount = require('os').cpus().length;
  // Create a worker for each CPU
   for (var i = 0; i < cpuCount; i += 1) {
      cluster.fork();
      console.log('Worker ' + i + 'created');
}

  // Listen for dying workers
  cluster.on('exit', function () {
  cluster.fork();
});

} else {
   var app = require('../app');
   app.set('port', process.env.PORT || 3000);
   var server = app.listen(app.get('port'), function() {
   debug('Express server listening on port ' + server.address().port);
});

}

1 个答案:

答案 0 :(得分:0)

保留代码。就您的应用程序所知,它仍然在主机上运行,​​它可以看到该机器的硬件功能。