simple-container
v1.1.2
Published
Simple and fast work with the Docker container
Downloads
36
Maintainers
Readme
Simple Container
Simple and fast work with the Docker container. Works great in Travis CI for testing
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('hello-world:latest').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.
Third-party repository
An additional example of obtaining a private image:
var auth = {
serveraddress: 'https://index.docker.io/v1',
email: '[email protected]',
username: 'username',
password: 'password',
auth: ''
};
containers.create({
Image: 'project:latest',
authconfig: auth
});
Details in the documentation.
API
create(options) ⇒ Promise
Creates a container by options or name, returning the management interface.
| Param | Type | Description | | --- | --- | --- | | options | String \ Object | The name of the image or options |
get([id]) ⇒ Promise
Returns the container management interface.
| Param | Type | Description | | --- | --- | --- | | [id] | String | Container ID |
Examples:
containers.get().then(containers => {
/* containers - All containers in the system */
});
containers.get('5520e855dd2c301b23a718cf392f9619d1edc3dc0fa294559b725d7588ca807f').then(container => {
/* container - The specified container */
});
info([id]) ⇒ Promise
Searches in existing containers.
| Param | Type | Description | | --- | --- | --- | | [id] | String | Container ID |
Examples:
containers.info().then(containers => {
/* containers - All containers in the system */
});
containers.info('21ae4a54be582d13fffd796341b3561a8c8e0c59dd6c6c3239529188e2b3321d').then(container => {
/* container - The specified container */
});
License
MIT. Copyright (c) Valentin Popov.