Source repo for Docker's Documentation
Go to file
Andrea Luzzardi 95511f1074 integration: force start_docker_with_busybox to only take the latest tag
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2015-05-06 15:47:53 -07:00
Godeps improve rename and update dockerclient 2015-04-24 21:09:26 -04:00
api Merge pull request #691 from aluzzardi/container-config 2015-05-05 23:51:18 -07:00
cli Fast exit from create on invalid command-line 2015-04-28 09:47:06 -07:00
cluster Merge pull request #725 from aluzzardi/discovery-integration-cleanup 2015-05-06 10:50:11 -07:00
discovery golint: DiscoveryService -> Discovery 2015-04-15 14:26:39 -07:00
docs Fixed typo 2015-04-14 13:50:51 -04:00
scheduler fix master 2015-05-06 00:16:05 -07:00
script Exclude CLI from unit tests coverage 2015-04-18 20:26:55 -07:00
state use cluster.ContainerConfig 2015-04-30 11:44:25 -07:00
test integration: force start_docker_with_busybox to only take the latest tag 2015-05-06 15:47:53 -07:00
version bump version to 0.3.0 2015-04-21 15:03:51 -07:00
.gitignore
.godir
.travis.yml travis: Lint all shell files. 2015-05-04 14:46:00 -07:00
CONTRIBUTING.md tweak workflow for godep update 2015-03-25 20:18:02 +07:00
Dockerfile Dockerfile: Set swarm to bind to all interfaces in container mode. 2015-02-02 18:44:22 -08:00
LICENSE
README.md README: Link to godoc reference 2015-04-18 20:45:57 -07:00
ROADMAP.md Update ROADMAP.md 2015-04-22 16:37:35 -07:00
logo.png
main.go Cleanup: Move CLI related files to a subpackage. 2015-04-18 20:26:55 -07:00

README.md

Swarm: a Docker-native clustering system

GoDoc Build Status Coverage Status

Docker Swarm Logo

Docker Swarm is native clustering for Docker. It turns a pool of Docker hosts into a single, virtual host.

Swarm serves the standard Docker API, so any tool which already communicates with a Docker daemon can use Swarm to transparently scale to multiple hosts: Dokku, Compose, Krane, Flynn, Deis, DockerUI, Shipyard, Drone, Jenkins... and, of course, the Docker client itself.

Like other Docker projects, Swarm follows the "batteries included but removable" principle. It ships with a set of simple scheduling backends out of the box, and as initial development settles, an API will be developed to enable pluggable backends. The goal is to provide a smooth out-of-the-box experience for simple use cases, and allow swapping in more powerful backends, like Mesos, for large scale production deployments.

Installation and documentation

Full documentation is available here.

Development installation

You can download and install from source instead of using the Docker image. Ensure you have golang, godep and the git client installed.

For example, on Ubuntu you'd run:

$ apt-get install golang git
$ go get github.com/tools/godep

You may need to set $GOPATH, e.g mkdir ~/gocode; export GOPATH=~/gocode.

For example, on Mac OS X you'd run:

$ brew install go
$ export GOPATH=~/go
$ export PATH=$PATH:~/go/bin
$ go get github.com/tools/godep

Then install the swarm binary:

$ mkdir -p $GOPATH/src/github.com/docker/
$ cd $GOPATH/src/github.com/docker/
$ git clone https://github.com/docker/swarm
$ cd swarm
$ godep go install .

From here, you can follow the instructions in the main documentation, replacing docker run swarm with just swarm.

Participating

We welcome pull requests and patches; come say hi on IRC, #docker-swarm on freenode.

Our planning process and release cycle are detailed on the wiki

Creators

Andrea Luzzardi

Victor Vieux

Code and documentation copyright 2014-2015 Docker, inc. Code released under the Apache 2.0 license.

Docs released under Creative commons.