mirror of
https://github.com/valentineus/simple-container.git
synced 2025-04-29 00:51:25 +03:00
3.4 KiB
3.4 KiB
Simple Container
Simple and fast work with the Docker container.
It uses the library dockerode.
Installation
npm install --save simple-container
Using
A simple example that creates and starts a container:
import Containers from 'simple-container';
var containers = new Containers();
containers.create('postgres:alpine').then(container => {
console.info(`The ${container.id} container was created.`);
start(container);
});
/* Run the created container */
function start(container) {
container.start().then(() => {
console.info(`The ${container.id} container is running.`);
});
}
Remote connection
By default, the local service is used.
For example, if you want to use connection settings:
var containers = new Containers({
host: '127.0.0.1',
port: 3000
});
Examples and details in the documentation.
Creating a container
You can create a container in two ways.
A simple way - to specify the name of the image:
containers.create('hello-world:latest');
Another way - to provide an object with parameters:
containers.create({
Image: 'postgres:alpine',
Env: ['POSTGRES_PASSWORD = password'],
Ports: [{
IP: '0.0.0.0',
PrivatePort: 5432,
PublicPort: 5432,
Type: 'tcp'
}]
});
Examples and details in the documentation.
An additional example of obtaining a private image:
var auth = {
username: 'username',
password: 'password',
email: 'email@example.org',
serveraddress: 'https://index.docker.io/v1'
};
containers.create({
Image: 'project:latest',
authconfig: auth
});
Details in the documentation.
Debugging
Use the DEBUG
variable with the containers
option.
Result of output:
$ DEBUG="containers" node ./example.js
container { status: 'Pulling from library/postgres', id: 'alpine' } +0ms
container { status: 'Already exists',
container progressDetail: {},
container id: '019300c8a437' } +0ms
container { status: 'Pulling fs layer',
container progressDetail: {},
container id: '885fa9f8b950' } +0ms
...
Or redefine the function to your own:
containers.debug = function() {
var args = Array.prototype.slice.call(arguments);
/* Debugger code */
}
License
MIT. Copyright (c) Valentin Popov.