swarm

command module
v1.0.0-rc2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 23, 2015 License: Apache-2.0 Imports: 5 Imported by: 0

README

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

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

Docs released under Creative commons.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Godeps
_workspace/src/github.com/codegangsta/cli
Package cli provides a minimal framework for creating and organizing command line Go applications.
Package cli provides a minimal framework for creating and organizing command line Go applications.
_workspace/src/github.com/coreos/etcd/client
Package client provides bindings for the etcd APIs.
Package client provides bindings for the etcd APIs.
_workspace/src/github.com/docker/docker/pkg/tlsconfig
Package tlsconfig provides primitives to retrieve secure-enough TLS configurations for both clients and servers.
Package tlsconfig provides primitives to retrieve secure-enough TLS configurations for both clients and servers.
_workspace/src/github.com/docker/libkv
Package libkv provides a Go native library to store metadata.
Package libkv provides a Go native library to store metadata.
_workspace/src/github.com/gogo/protobuf/proto
Package proto converts data structures to and from the wire format of protocol buffers.
Package proto converts data structures to and from the wire format of protocol buffers.
_workspace/src/github.com/gogo/protobuf/proto/proto3_proto
Package proto3_proto is a generated protocol buffer package.
Package proto3_proto is a generated protocol buffer package.
_workspace/src/github.com/golang/glog
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
Package glog implements logging analogous to the Google-internal C++ INFO/ERROR/V setup.
_workspace/src/github.com/gorilla/context
Package context stores values shared during a request lifetime.
Package context stores values shared during a request lifetime.
_workspace/src/github.com/gorilla/mux
Package gorilla/mux implements a request router and dispatcher.
Package gorilla/mux implements a request router and dispatcher.
_workspace/src/github.com/mesos/mesos-go/detector
The detector package houses implementation of master detectors.
The detector package houses implementation of master detectors.
_workspace/src/github.com/mesos/mesos-go/detector/zoo
Zookeeper-based mesos-master leaderhip detection.
Zookeeper-based mesos-master leaderhip detection.
_workspace/src/github.com/mesos/mesos-go/mesosproto
Package mesosproto is a generated protocol buffer package.
Package mesosproto is a generated protocol buffer package.
_workspace/src/github.com/mesos/mesos-go/messenger
Package messenger includes a messenger and a transporter.
Package messenger includes a messenger and a transporter.
_workspace/src/github.com/mesos/mesos-go/messenger/testmessage
Package testmessage is a generated protocol buffer package.
Package testmessage is a generated protocol buffer package.
_workspace/src/github.com/mesos/mesos-go/scheduler
Package scheduler includes the interfaces for the mesos scheduler and the mesos executor driver.
Package scheduler includes the interfaces for the mesos scheduler and the mesos executor driver.
_workspace/src/github.com/mesos/mesos-go/upid
Package upid defines the UPID type and some utilities of the UPID.
Package upid defines the UPID type and some utilities of the UPID.
_workspace/src/github.com/pborman/uuid
The uuid package generates and inspects UUIDs.
The uuid package generates and inspects UUIDs.
_workspace/src/github.com/stretchr/objx
objx - Go package for dealing with maps, slices, JSON and other data.
objx - Go package for dealing with maps, slices, JSON and other data.
_workspace/src/github.com/stretchr/testify/assert
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
Package assert provides a set of comprehensive testing tools for use with the normal Go testing system.
_workspace/src/github.com/stretchr/testify/mock
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
Provides a system by which it is possible to mock your objects and verify calls are happening as expected.
_workspace/src/github.com/ugorji/go/codec
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
High Performance, Feature-Rich Idiomatic Go codec/encoding library for binc, msgpack, cbor, json.
_workspace/src/github.com/ugorji/go/codec/codecgen
codecgen generates codec.Selfer implementations for a set of types.
codecgen generates codec.Selfer implementations for a set of types.
_workspace/src/golang.org/x/net/context
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes.
kv

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL