Skip to content
This repository has been archived by the owner on Mar 9, 2023. It is now read-only.

valentineus/simple-container

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Container

GitHub Release NPM Build Status Codacy Badge Codacy Coverage Badge Gitter Badge

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@example.org',
    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.

get([id])Promise

Returns the container management interface.

info([id])Promise

Searches in existing containers.

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

JavaScript Style Guide

MIT. Copyright (c) Valentin Popov.

About

Implement a simple API for managing the Docker container.

Resources

License

Stars

Watchers

Forks

Packages

No packages published