Node.JS wrapper for low-level Docker.io HTTP interface
// Sockets are used by default.
var docker = require('docker.io')({ socketPath: '/var/run/docker.sock' });
// You must specify socketPath: false to indicate you want to use TCP connections.
var docker = require('docker.io')({ socketPath: false, host: 'http://localhost', port: '4243'});
The defaults for the connection options are:
- socketPath: /var/run/docker.sock
- host: http://localhost
- port: 4243
We have implamented most of the container methods like:
- list
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.list(options, handler);
// OR
docker.containers.list(handler);
// ALSO
docker.images.list(options, handler);
// OR
docker.images.list(handler);
- create
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.create(options, handler);
// OR
docker.containers.create(handler);
- build
function handler
8000
span>(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.create('dockerfilein.tar', options, handler);
// OR
docker.containers.create('dockerfilein.tar', 'tag name', handler);
- inspect
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.inspect('263tbr762t37rtbd', options, handler);
// OR
docker.containers.inspect('263tbr762t37rtbd', handler);
// AND
docker.images.inspect('8dbd9e392a96', options, handler);
// OR
docker.images.inspect('8dbd9e392a96', handler);
- inspectChanges
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.inspectChanges('263tbr762t37rtbd', options, handler);
// OR
docker.containers.inspectChanges('263tbr762t37rtbd', handler);
- runExport
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.runExport('263tbr762t37rtbd', options, handler);
// OR
docker.containers.runExport('263tbr762t37rtbd', handler);
- start
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.start('263tbr762t37rtbd', options, handler);
// OR
docker.containers.start('263tbr762t37rtbd', handler);
- stop
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.stop('263tbr762t37rtbd', options, handler);
// OR
docker.containers.stop('263tbr762t37rtbd', handler);
- restart
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.restart('263tbr762t37rtbd', options, handler);
// OR
docker.containers.restart('263tbr762t37rtbd', handler);
- attach
// This gets fired on every line returned by the container for stderr, stdin, & stdout. It gets called once for logs
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.attach('263tbr762t37rtbd', options, handler);
// OR
docker.containers.attach('263tbr762t37rtbd', handler);
- wait
// This fires once the container stops
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.wait('263tbr762t37rtbd', options, handler);
// OR
docker.containers.wait('263tbr762t37rtbd', handler);
- runExport
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
var options = {}; // all options listed in the REST documentation for Docker are supported.
docker.containers.runExport('263tbr762t37rtbd', options, handler);
// OR
docker.containers.runExport('263tbr762t37rtbd', handler);
- version
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
docker.version(handler);
- info
function handler(err, res) {
if (err) throw err;
console.log("data returned from Docker as JS object: ", res);
}
docker.info(handler);
Other methods are implamented but a little buggy... PULL REQUESTS ARE WELCOME!