2016-08-30 79 views
0

我正在設置我的後端,這是一個在Docker容器內部運行的NodeJS應用程序。在Docker容器內部擴展節點實例

在我的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); 
}); 

} 

回答

0

工作留在代碼中。到目前爲止,爲您的應用程序可以告訴,它仍然是在主機上運行,​​並且可以看到機器的硬件功能。