Version: v0.4.0 Latest Latest

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

Go to latest
Published: Aug 7, 2015 License: Apache-2.0 Imports: 25 Imported by: 0


page_title: Docker Swarm API page_description: Swarm API page_keywords: docker, swarm, clustering, api

Docker Swarm API

The Docker Swarm API is mostly compatible with the Docker Remote API. This document is an overview of the differences between the Swarm API and the Docker Remote API.

Endpoints which behave differently

  • GET "/containers/{name:.*}/json": New field Node added:
"Node": {
	"Ip": "",
	"Addr": "",
	"Name": "vagrant-ubuntu-saucy-64",
  • GET "/containers/{name:.*}/json": HostIP replaced by the the actual Node's IP if HostIP is

  • GET "/containers/json": Node's name prepended to the container name.

  • GET "/containers/json": HostIP replaced by the the actual Node's IP if HostIP is

  • GET "/containers/json" : Containers started from the swarm official image are hidden by default, use all=1 to display them.

  • GET "/images/json" : Use '--filter node=<Node name>' to show images of the specific node.

Docker Swarm documentation index




View Source
const APIVERSION = "1.16"

The Client API version

View Source
const DefaultDockerPort = ":2375"

The default port to listen on for incoming connections


This section is empty.


func NewPrimary added in v0.3.0

func NewPrimary(cluster cluster.Cluster, tlsConfig *tls.Config, status StatusHandler, enableCors bool) *mux.Router

NewPrimary creates a new API router.


type ContainerSorter

type ContainerSorter []*cluster.Container

ContainerSorter implements the Sort interface to sort Docker containers. It is not guaranteed to be a stable sort.

func (ContainerSorter) Len

func (s ContainerSorter) Len() int

Len returns the number of containers to be sorted.

func (ContainerSorter) Less

func (s ContainerSorter) Less(i, j int) bool

Less reports whether the container with index i should sort before the container with index j. Containers are sorted chronologically by when they were created.

func (ContainerSorter) Swap

func (s ContainerSorter) Swap(i, j int)

Swap exchanges the container elements with indices i and j.

type Replica added in v0.3.0

type Replica struct {
	// contains filtered or unexported fields

Replica is an API replica that reserves proxy to the primary.

func NewReplica added in v0.3.0

func NewReplica(handler http.Handler, tlsConfig *tls.Config) *Replica

NewReplica creates a new API replica.

func (*Replica) ServeHTTP added in v0.3.0

func (p *Replica) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP is the http.Handler.

func (*Replica) SetPrimary added in v0.3.0

func (p *Replica) SetPrimary(primary string)

SetPrimary sets the address of the primary Swarm manager

type Server added in v0.3.0

type Server struct {
	// contains filtered or unexported fields

Server is a Docker API server.

func NewServer added in v0.3.0

func NewServer(hosts []string, tlsConfig *tls.Config) *Server

NewServer creates an api.Server.

func (*Server) ListenAndServe added in v0.3.0

func (s *Server) ListenAndServe() error

ListenAndServe starts an HTTP server on each host to listen on its TCP or Unix network address and calls Serve on each host's server to handle requests on incoming connections.

The expected format for a host string is [protocol://]address. The protocol must be either "tcp" or "unix", with "tcp" used by default if not specified.

func (*Server) SetHandler added in v0.3.0

func (s *Server) SetHandler(handler http.Handler)

SetHandler is used to overwrite the HTTP handler for the API. This can be the api router or a reverse proxy.

type StatusHandler added in v0.3.0

type StatusHandler interface {
	// Info provides key/values to be added to docker info.
	Status() [][]string

StatusHandler allows the API to display extra information on docker info.

type WriteFlusher

type WriteFlusher struct {
	// contains filtered or unexported fields

A WriteFlusher provides synchronized write access to the writer's underlying data stream and ensures that each write is flushed immediately.

func NewWriteFlusher

func NewWriteFlusher(w io.Writer) *WriteFlusher

NewWriteFlusher creates a new WriteFlusher for the writer.

func (*WriteFlusher) Flush

func (wf *WriteFlusher) Flush()

Flush flushes the stream immediately.

func (*WriteFlusher) Write

func (wf *WriteFlusher) Write(b []byte) (n int, err error)

Write writes the bytes to a stream and flushes the stream.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
t or T : Toggle theme light dark auto
y or Y : Canonical URL