clusterdock

Overview

clusterdock is a framework for creating Docker-based container clusters. Unlike regular Docker containers, which tend to run single processes and then exit once the process terminates, these container clusters are characterized by the execution of an init process in daemon mode. As such, the containers act more like "fat containers" or "light VMs;" entities with accessible IP addresses which emulate standalone hosts.

Usage

The clusterdock framework has been designed to be run out of its own container while affecting operations on the host. To do this, the framework is started by invoking docker run with an option of -v /var/run/docker.sock:/var/run/docker.sock required to ensure that containers launched by the framework are started on the host machine. To avoid problems that might result from incorrectly formatting this framework invocation, a Bash helper script (clusterdock.sh) can be sourced on a host that has Docker installed. Afterwards, invocation of any of the binaries intended to carry out clusterdock actions can be done using the clusterdock_run command. As an example, assuming Docker is already installed and the working directory is the root of this Git repository:

source ./clusterdock.sh
clusterdock_run ./bin/start_cluster cdh --help