Giter Club home page Giter Club logo

swarm's Introduction

Swarm: a Docker-native clustering system

GoDoc Jenkins Build Status 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 for Swarm Users

For installing swarm for using in your environment, use the Docker Swarm documentation on docs.docker.com.

Installation for Swarm Developers

Developers should always download and install from source rather than using the Docker image.

Prerequisites

  1. Beginning with Swarm 0.4 golang 1.4.x or later is required for building Swarm. Refer to the Go installation page to download and install the golang 1.4.x or later package.

Note: On Ubuntu 14.04, the apt-get repositories install golang 1.2.1 version by default. So, do not use apt-get but install golang 1.4.x manually using the instructions provided on the Go site.

  1. Install Git.

  2. Install godep.

Clone and build Swarm

Note GOPATH should be set when install godep in above step.

Install the swarm binary in the $GOPATH/bin directory. An easy way to do this is using the go get command.

$ go get github.com/docker/swarm

You can also do this manually using the following commands:

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

Then you can find the swarm binary under $GOPATH/bin.

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

Participating

You can contribute to Docker Swarm in several different ways:

  • If you have comments, questions, or want to use your knowledge to help others, come join the conversation on IRC. You can reach us at #docker-swarm on Freenode.

  • To report a problem or request a feature, please file an issue.

  • Of course, we welcome pull requests and patches. For information on making feature requests, follow the process suggested here.

Finally, if you want to see what we have for the future and learn more about our release cycles, all this information is detailed on the wiki

Creators

Andrea Luzzardi

Victor Vieux

Copyright and license

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

Docs released under Creative commons.

swarm's People

Contributors

aanand avatar abronan avatar ahmetb avatar alexlarsson avatar aluzzardi avatar bfirsh avatar brendandburns avatar chanwit avatar cpuguy83 avatar dustbyte avatar fermayo avatar jamtur01 avatar jeffchien avatar jhamrick avatar jimenez avatar jimmyxian avatar mavenugo avatar mhbauer avatar mountkin avatar nathanleclaire avatar noxiouz avatar peggyl avatar relistan avatar robhaswell avatar smothiki avatar snrism avatar svendowideit avatar tianon avatar vieux avatar wrotki avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.