Simple command interface to manage multiple Docker container


License
CC-BY-NC-SA-2.5
Install
pip install portmgr==1.6.2

Documentation

dckrmgr

Prerequisites

The easiest way ist through pip3 (Ubuntu: apt-get install python3-pip):

Installation

git clone git@github.com:theascone/dckrmgr.git
mkdir -p /usr/local/src/dckr
mv dckrmgr/* /usr/local/src/dckr
ln -s /usr/local/src/dckr/dckrmgr /usr/local/bin/dckrmgr

Usage

Dckrcnf.json

Example:

{
    "name": "phabricator",

    "image": {
        "name": "theascone/docker_phabricator",
        "version": "latest"
    },

    "hostname": "phabricator.weiltoast.de",

    "environment": [
        {
            "name": "MYSQL_USER",
              "value": "phabricator"
        },
        {
            "name": "MYSQL_PASS",
            "value": "xyz"
        }
    ],
    "volumes": [
        {
            "host_path": "var_log",
            "container_path": "/var/log",
            "mode": "rw"
        },
        {
            "host_path": "/var/run/docker.sock",
            "container_path": "/tmp/docker.sock",
            "mode": "ro"
        }
    ],
    "ports": [
        {
            "container_port": 22,
            "host_port": 22
        },
        {
            "container_port": 22280,
            "host_port": 22280
        }
    ],
    "links": [
        {
            "name": "mysql_phabricator",
            "alias": "mysql"
        }
    ]
}

Equivalents to Docker CLI:

Dckrcnf Docker CLI Comment
name --name
image(name, version) name:version
hostname --hostname (-h)
environment[(name, value)] --env (-e) Json Array
volumes[(host_path, container_path, mode)] --volume (-v) host_path:container_path:mode host_path can be relative to location of dckrcnf.json Json Array
ports[(container_port, host_port)] --publish (-p) host_port:container_port Json Array
links[(name, alias)] --link name:alias Json Array

dckrmgr

dckrmgr [-h] [-D P_CWD_TOP] [-R] [-t] [-r] [-c] [-s]

optional arguments:
  -h, --help    show this help message and exit
  -D P_CWD_TOP  Set working directory
  -R            Use dckrsub.json files to recursively apply operations
  -t            Stop container
  -r            Remove container
  -c            Create container
  -s            Start container