New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

docker-cli-js

Package Overview
Dependencies
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

docker-cli-js - npm Package Compare versions

Comparing version 0.0.2 to 0.0.3

test/nginx/content/index.html

2

config.json
{
"docker_machine_key_path": "~/.docker/machine/machines/machine_name/"
"DockerMachineName": "enter value here"
}

@@ -8,4 +8,2 @@ var mkdirp = require('mkdirp');

//grunt.loadTasks('./tasks');
grunt.initConfig({

@@ -30,15 +28,2 @@ shell: {

},
//clean: {
// keys: ['test/keys/'],
// options: { force: true }
//},
//copy: {
// keys: {
// expand: true,
// src: config.docker_machine_key_path + '*',
// dest: 'test/keys/',
// flatten: true,
// filter: 'isFile',
// },
//},
mochaTest: {

@@ -54,4 +39,2 @@ config: config,

src: ['./test/**/*.js']
//src: [baseDir + '/test/fleetmakefileReplace_test.js']
//src: [baseDir + '/test/objectToArray_test.js']
}

@@ -64,4 +47,2 @@ },

grunt.loadNpmTasks('grunt-contrib-jshint');
//grunt.loadNpmTasks('grunt-contrib-clean');
//grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-mocha-test');

@@ -68,0 +49,0 @@

@@ -21,4 +21,5 @@ /**

var os = require("os");
var _ = require('lodash');
var dockermachine = require('dockermachineconfig');
var Docker = function (opts) {

@@ -28,18 +29,92 @@ if (!(this instanceof Docker)) {

}
_.merge(this, opts);
};
Docker.prototype.info = function(callback) {
return Promise.resolve().then(function () {
return exec('docker info');
}).then(function (data) {
//console.log('data = ', data);
return data;
}).nodeify(callback);
Docker.prototype.command = function(command, callback) {
var self = this;
var exec_command = 'docker ';
return Promise.resolve().then(function () {
if (self.machinename) {
return dockermachine.config(self.machinename).then(function (data) {
self.machineconfig = data;
});
}
}).then(function (data) {
if (self.machineconfig) {
exec_command += self.machineconfig.raw + ' ';
}
exec_command += command + ' ';
var exec_options = {};
if (self.cwd) {
exec_options.cwd = self.cwd;
}
console.log('exec options =', exec_options);
return exec(exec_command, exec_options);
}).then(function (data) {
var result = {
command: exec_command,
raw: JSON.stringify(data)
};
return extractResult(result);
}).nodeify(callback);
};
module.exports = Docker;
var extractResult = function (result) {
result.test = 'done';
var extracterArray = [
{
re: / build /,
run: function (resultp) {
var obj = JSON.parse(resultp.raw);
var lines = obj[0].split(os.EOL);
lines.forEach(function (line) {
var re = /Successfully built (.*)$/;
var str = line;
var m;
if ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
resultp.success = true;
resultp.imageId = m[1];
}
});
return (resultp.response = lines);
}
}
];
extracterArray.forEach(function (extracter) {
var re = extracter.re;
var str = result.command;
var m;
if ((m = re.exec(str)) !== null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
return extracter.run(result);
}
});
return result;
};
{
"name": "docker-cli-js",
"version": "0.0.2",
"version": "0.0.3",
"description": "A wrapper for the docker CLI",
"main": "lib/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "grunt"
},

@@ -29,4 +29,2 @@ "repository": {

"should": "~7.1.0",
"grunt-contrib-copy": "~0.8.1",
"grunt-contrib-clean": "~0.6.0",
"chai": "~3.3.0",

@@ -36,3 +34,6 @@ "dockermachine": "0.0.5"

"dependencies": {
"dockermachineconfig": "~1.0.0",
"lodash": "~3.10.1",
"bluebird": "~2.10.1"
}
}

@@ -23,13 +23,84 @@ # docker-cli-js

## The following docker methods are implemented
## Usage
- build
-
```js
var docker = new Docker({
machinename: 'aws_machine01',
cwd: 'nginx'
});
docker.command('build -t nginximg1 .').then(function (data) {
console.log('data = ', data);
})
## Usage
```js
??
//data = {
// command: 'docker --tlsverify --tlscacert="/home/ubuntu/.docker/machine/machines/aws_machine01/ca.pem" --tlscert="/home/ubuntu/.docker/machine/machines/aws_machine01/cert.pem" --tlskey="/home/ubuntu/.docker/machine/machines/aws_machine01/key.pem" -H=tcp://52.64.142.194:2376 build -t nginximg1 . ',
// raw: '["Sending build context to Docker daemon 3.584 kB\\rSending build context to Docker daemon 3.584 kB\\r\\r\\nStep 0 : FROM nginx\\nlatest: Pulling from library/nginx\\n843e2bded498: Pulling fs layer\\n8c00acfb0175: Pulling fs layer\\n426ac73b867e: Pulling fs layer\\nd6c6bbd63f57: Pulling fs layer\\n4ac684e3f295: Pulling fs layer\\n91391bd3c4d3: Pulling fs layer\\nb4587525ed53: Pulling fs layer\\n0240288f5187: Pulling fs layer\\n28c109ec1572: Pulling fs layer\\n063d51552dac: Pulling fs layer\\nd8a70839d961: Pulling fs layer\\nceab60537ad2: Pulling fs layer\\nd8a70839d961: Verifying Checksum\\nd8a70839d961: Download complete\\n4ac684e3f295: Verifying Checksum\\n4ac684e3f295: Download complete\\n0240288f5187: Verifying Checksum\\n0240288f5187: Download complete\\nd6c6bbd63f57: Verifying Checksum\\nd6c6bbd63f57: Download complete\\n8c00acfb0175: Verifying Checksum\\n8c00acfb0175: Download complete\\nceab60537ad2: Verifying Checksum\\nceab60537ad2: Download complete\\n28c109ec1572: Verifying Checksum\\n28c109ec1572: Download complete\\n426ac73b867e: Verifying Checksum\\n426ac73b867e: Download complete\\n063d51552dac: Verifying Checksum\\n063d51552dac: Download complete\\n91391bd3c4d3: Verifying Checksum\\n91391bd3c4d3: Download complete\\nb4587525ed53: Verifying Checksum\\nb4587525ed53: Download complete\\n843e2bded498: Verifying Checksum\\n843e2bded498: Download complete\\n843e2bded498: Pull complete\\n8c00acfb0175: Pull complete\\n426ac73b867e: Pull complete\\nd6c6bbd63f57: Pull complete\\n4ac684e3f295: Pull complete\\n91391bd3c4d3: Pull complete\\nb4587525ed53: Pull complete\\n0240288f5187: Pull complete\\n28c109ec1572: Pull complete\\n063d51552dac: Pull complete\\nd8a70839d961: Pull complete\\nceab60537ad2: Pull complete\\nlibrary/nginx:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.\\nDigest: sha256:302e0a331371acb77e434075d111ebe485a7f3605fdcf184185fcca73d65ac8b\\nStatus: Downloaded newer image for nginx:latest\\n ---> ceab60537ad2\\nStep 1 : COPY content /usr/share/nginx/html\\n ---> d57e3a01e674\\nRemoving intermediate container 84b42b1010a6\\nSuccessfully built d57e3a01e674\\n",""]',
// success: true,
// imageId: 'd57e3a01e674',
// response:
// ['Sending build context to Docker daemon 3.584 kB\rSending build context to Docker daemon 3.584 kB\r\r',
// 'Step 0 : FROM nginx',
// 'latest: Pulling from library/nginx',
// '843e2bded498: Pulling fs layer',
// '8c00acfb0175: Pulling fs layer',
// '426ac73b867e: Pulling fs layer',
// 'd6c6bbd63f57: Pulling fs layer',
// '4ac684e3f295: Pulling fs layer',
// '91391bd3c4d3: Pulling fs layer',
// 'b4587525ed53: Pulling fs layer',
// '0240288f5187: Pulling fs layer',
// '28c109ec1572: Pulling fs layer',
// '063d51552dac: Pulling fs layer',
// 'd8a70839d961: Pulling fs layer',
// 'ceab60537ad2: Pulling fs layer',
// 'd8a70839d961: Verifying Checksum',
// 'd8a70839d961: Download complete',
// '4ac684e3f295: Verifying Checksum',
// '4ac684e3f295: Download complete',
// '0240288f5187: Verifying Checksum',
// '0240288f5187: Download complete',
// 'd6c6bbd63f57: Verifying Checksum',
// 'd6c6bbd63f57: Download complete',
// '8c00acfb0175: Verifying Checksum',
// '8c00acfb0175: Download complete',
// 'ceab60537ad2: Verifying Checksum',
// 'ceab60537ad2: Download complete',
// '28c109ec1572: Verifying Checksum',
// '28c109ec1572: Download complete',
// '426ac73b867e: Verifying Checksum',
// '426ac73b867e: Download complete',
// '063d51552dac: Verifying Checksum',
// '063d51552dac: Download complete',
// '91391bd3c4d3: Verifying Checksum',
// '91391bd3c4d3: Download complete',
// 'b4587525ed53: Verifying Checksum',
// 'b4587525ed53: Download complete',
// '843e2bded498: Verifying Checksum',
// '843e2bded498: Download complete',
// '843e2bded498: Pull complete',
// '8c00acfb0175: Pull complete',
// '426ac73b867e: Pull complete',
// 'd6c6bbd63f57: Pull complete',
// '4ac684e3f295: Pull complete',
// '91391bd3c4d3: Pull complete',
// 'b4587525ed53: Pull complete',
// '0240288f5187: Pull complete',
// '28c109ec1572: Pull complete',
// '063d51552dac: Pull complete',
// 'd8a70839d961: Pull complete',
// 'ceab60537ad2: Pull complete',
// 'library/nginx:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.',
// 'Digest: sha256:302e0a331371acb77e434075d111ebe485a7f3605fdcf184185fcca73d65ac8b',
// 'Status: Downloaded newer image for nginx:latest',
// ' ---> ceab60537ad2',
// 'Step 1 : COPY content /usr/share/nginx/html',
// ' ---> d57e3a01e674',
// 'Removing intermediate container 84b42b1010a6',
// 'Successfully built d57e3a01e674',
// '']
//}
```
/*global describe, it, before */
var Docker = require('../lib/index.js');
//var fs = require('fs');
//var path = require('path');
var path = require('path');
var should = require('chai').should();
var machine = new require('./dockermachineconfig.js')();
var assert = require('chai').assert;
var dockermachine = require('dockermachineconfig');
var config = require('../my_config.json');
describe('docker', function () {
//before(function (done) {
// // runs before all tests in this block
// dockermachine.config(config.DockerMachineName).then(
// function (output) {
// console.log('index.js machine_config output =',output);
// done();
// });
//});
it('should merge opts', function () {
var docker = new Docker({ a: 'a' });
assert.isNotNull(docker);
assert.equal(docker.a, 'a');
//console.log('docker', docker);
});
var options = {
};
describe('machine_config', function () {
before(function (done) {
// runs before all tests in this block
machine.config(config.DockerMachineName).then(
function (output) {
console.log('index.js machine_config output =',output);
done();
});
it('command info2 should fail', function (done) {
var docker = new Docker({ machinename: config.DockerMachineName });
//console.log('docker', docker);
assert.isNotNull(docker);
var failed = false;
var err = null;
docker.command('info2').then(function (data) {
//console.log('data = ', data);
assert.isNotNull(data);
}).catch(function (error) {
assert.isNotNull(error);
err = error;
failed = true;
//console.log('error = ', error);
}).finally(function () {
//console.log('finally ');
assert.isTrue(failed);
assert.isNotNull(err);
done();
});
});
//before(function (done) {
// // runs before all tests in this block
// machine.ls().then(
// function (output) {
// console.log(output);
// done();
// });
//});
it('command info should pass', function (done) {
var docker = new Docker({ machinename: config.DockerMachineName });
//console.log('docker', docker);
assert.isNotNull(docker);
var failed = false;
var err = null;
docker.command('info').then(function (data) {
//console.log('data = ', data);
assert.isNotNull(data);
}).catch(function (error) {
assert.isNotNull(error);
err = error;
failed = true;
//console.log('error = ', error);
}).finally(function () {
//console.log('finally ');
assert.isFalse(failed);
assert.isNull(err);
done();
});
});
it('should be valid json', function () {
config.DockerMachineName.should.be.a('string');
//should.exist(config.DockerMachineName);
console.log('DockerMachineStorePath', config.DockerMachineName);
it('command build should pass', function (done) {
this.timeout(15000);
var docker = new Docker({
machinename: config.DockerMachineName,
cwd: path.join(__dirname, 'nginx')
});
//console.log('docker', docker);
assert.isNotNull(docker);
var failed = false;
var err = null;
docker.command('build -t nginximg1 .').then(function (data) {
//console.log('data = ', data);
assert.isNotNull(data);
}).catch(function (error) {
assert.isNotNull(error);
err = error;
failed = true;
//console.log('error = ', error);
}).finally(function () {
//console.log('finally ');
assert.isFalse(failed);
assert.isNull(err);
done();
});
});
it('command build with callback', function (done) {
this.timeout(15000);
var docker = new Docker({
cwd: path.join(__dirname, 'nginx')
});
//console.log('docker', docker);
assert.isNotNull(docker);
docker.command('build -t nginximg1 .', function (err, data) {
console.log('data = ', data);
assert.isNotNull(data);
done();
});
});
});

@@ -47,24 +124,2 @@

//describe('info', function () {
// it('should return valid json', function (done) {
// //assert.equal(false, fmvalidate.printMsg()); s
// var docker = new Docker({ t: 't' });
// docker.info().then(function (data) {
// //console.log('test index.js result = ' + result);
// should.exist(data);
// done();
// //var obj = JSON.parse(result);
// });
// });
//});
//describe('info', function () {
// it('should call callback', function (done) {
// //assert.equal(false, fmvalidate.printMsg()); s
// var docker = new Docker({ t: 't' });
// docker.info(function (err, data) {
// should.exist(data);
// done();
// });
// });
//});

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc