Not Preposterously Macho

    simple-container

    1.1.2 • Public • Published

    Simple Container

    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.

    Install

    npm i simple-container

    DownloadsWeekly Downloads

    0

    Version

    1.1.2

    License

    MIT

    Last publish

    Collaborators

    • valentineus