implement start and status

This commit is contained in:
Moritz 2019-09-19 20:13:08 +02:00
parent 6407ea4993
commit b9ebac85c1
5 changed files with 39 additions and 25 deletions

4
app.js
View file

@ -5,7 +5,7 @@ var logger = require('morgan');
var statusRouter = require('./routes/status'); var statusRouter = require('./routes/status');
var startRouter = require('./routes/start'); var startRouter = require('./routes/start');
var stopRouter = require('./routes/stop');
var app = express(); var app = express();
@ -17,6 +17,6 @@ app.use(express.static(path.join(__dirname, 'public')));
app.use('/status', statusRouter); app.use('/status', statusRouter);
app.use('/start', startRouter); app.use('/start', startRouter);
app.use('/stop', stopRouter);
module.exports = app; module.exports = app;

View file

@ -1,4 +1,7 @@
var Docker = require('dockerode'); var Docker = require('dockerode');
var docker = new Docker({ socketPath: '/var/run/docker.sock' }); var docker = new Docker({ socketPath: '/var/run/docker.sock' });
module.exports = docker; module.exports = docker;

View file

@ -3,16 +3,22 @@ var router = express.Router();
var docker = require('../bin/dockerode'); var docker = require('../bin/dockerode');
router.get('/', function (req, res, next) {
res.send(getContainer('Portainer')); router.get('/:id', (req, res, next) => {
getContainer(id).then(data => {
res.send(data);
});
}); });
module.exports = router;
function getContainer(containername) { function getContainer(containername) {
var container = docker.getContainer(containername); return new Promise((resolve, reject) => {
container.inspect(function (err, data) { const container = docker.getContainer(containername);
return data container.inspect((err, data) => {
}); resolve({ err, data });
} });
})
}
module.exports = router;

View file

@ -1,10 +1,24 @@
var express = require('express'), var express = require('express');
router = express.Router(); var router = express.Router();
var docker = require('../bin/dockerode');
router.get('/', function (req, res, next) {
res.send("body"); router.get('/:id', (req, res, next) => {
getContainer(id).then(data => {
res.send(data);
});
}); });
module.exports = router;
function getContainer(containername) {
return new Promise((resolve, reject) => {
const container = docker.getContainer(containername);
container.inspect((err, data) => {
resolve({ err, data });
});
})
}
module.exports = router;

View file

@ -1,9 +0,0 @@
var express = require('express');
var router = express.Router();
/* GET users listing. */
router.get('/', function (req, res, next) {
res.send('respond with a resource');
});
module.exports = router;