Servicedock: Webgui for Docker Swarm. Manage Docker Swarm a a Service.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

55 lines
1.5 KiB

module.exports = function() {
var module={};
module.connection = function(socket) {
var sys = require('sys');
var exec = require('child_process').exec;
console.log("new client");
function emit(signal, data, info) {
if (typeof data == 'string') {
console.log("<- signal: "+signal+"("+data+")");
} else {
console.log("<- signal: "+signal);
}
if (info) console.log(info);
socket.emit(signal, data);
}
function broadcast(signal, data) {
console.log("<= signal: "+signal);
socket.broadcast.emit(signal, data);
}
function containerinspect(error, stdout, stderr) {
console.log(error);
if (!error && !stderr) {
// var res = {};
// JSON.parse(stdout).forEach(function(c) {
// res[c.Id] = c;
// });
emit("containers", stdout);
}
}
function containerlist(error, stdout, stderr) {
console.log(error);
console.log("docker inspect "+stdout.trim().replace(/\n/g, " "));
if (!error && !stderr)
exec("docker inspect "+stdout.trim().replace(/\n/g, " "),
containerinspect);
}
socket.on("containers", function() {
console.log("-> containers");
exec("docker ps -aq",
containerlist);
});
}
return module;
}