Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
docker-machine
Advanced tools
Programmatic API to Docker Machine (0.6.0+).
Wraps thedocker-machine
CLI.
node example.js ls /
const Machine = require('docker-machine')
const cmd = process.argv.slice(2)
const machine = new Machine()
// Start if not already started
machine.start(function (err) {
if (err) throw err
// Execute a command
machine.ssh(cmd, (err, result) => {
if (err) throw err
console.log(result)
})
})
new Machine([name || opts])
Options:
DOCKER_MACHINE_NAME
or "default"machine.status((err, status) => ..)
Get lowercased status of the machine.
machine.isRunning((err, running) => ..)
True if status is running
.
machine.start(err => ..)
Start machine, if not already running.
machine.stop(err => ..)
Stop machine, if not already stopped.
machine.kill(err => ..)
Kill machine, if not already stopped.
machine.env([opts], (err, result) => ..)
Get the environment variables to dictate that Docker should run a command against a particular machine. By default, env()
returns the output from docker-machine env
as-is. That is, a script which can be run in a subshell. Options:
parse
is true.result
will be a plain object:{
DOCKER_TLS_VERIFY: '1',
DOCKER_HOST: 'tcp://<ip>:<port>',
DOCKER_CERT_PATH: '<home>/.docker/machine/machines/<name>',
DOCKER_MACHINE_NAME: '<name>'
}
machine.ssh(command, (err, result) => ..)
Run a command via SSH. The command
can be a string or an array.
machine.inspect((err, result) => ..)
Get the output of docker-machine inspect
as a plain object with camelCase properties.
All of the above methods (from status()
to inspect()
) are also accessible as static methods, where the first argument is a name
. For example:
const Machine = require('docker-machine')
Machine.env('default', { json: true }, (err, result) => {
console.log(result.DOCKER_HOST)
})
Machine.create(name, driver[, options], (err) => ..)
Create a machine. Options are driver-specific.
const options = {
'virtualbox-memory': '1024'
}
Machine.create('test', 'virtualbox', options, (err) => {
if (err) throw err
})
Machine.list([opts], (err, machines) => ..)
Get all machines as an array, via docker-machine ls
. Each machine is a plain object with camelCase properties.
{
name: 'agent-1', // Machine name
activeHost: false, // Is the machine an active host?
activeSwarm: false, // Is the machine an active swarm master?
active: '*', // Human-readable combination of the above
driverName: 'virtualbox', // Driver name
state: 'running', // Machine state (running, stopped)
url: 'tcp://192.168.99.101:2376', // Machine URL
swarm: null, // Machine swarm name
dockerVersion: 'v1.12.0', // Docker Daemon version
responseTime: 980, // Time taken by the host to respond (ms)
error: null // Machine errors
}
Options:
ls
timeout in seconds (see docker/machine#1696)inspect()
for each machine:{
name: 'agent-1', // Plus all of the above
driver: { // Driver metadata
cpu: 1,
memory: 2048,
hostOnlyCidr: '192.168.99.1/24',
..
},
hostOptions: { // Various host options
engineOptions: ..
swarmOptions: ..
}
}
With npm do:
npm install docker-machine
MIT © 2016-present Vincent Weevers
FAQs
Programmatic API to Docker Machine
The npm package docker-machine receives a total of 7,134 weekly downloads. As such, docker-machine popularity was classified as popular.
We found that docker-machine demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.