api

package
v0.3.0-rc1 Latest Latest
Warning

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

Go to latest
Published: May 27, 2015 License: Apache-2.0 Imports: 24 Imported by: 0

README


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": {
	"Id": "ODAI:IC6Q:MSBL:TPB5:HIEE:6IKC:VCAM:QRNH:PRGX:ERZT:OK46:PMFX",
	"Ip": "0.0.0.0",
	"Addr": "http://0.0.0.0:4243",
	"Name": "vagrant-ubuntu-saucy-64",
    },
  • GET "/containers/{name:.*}/json": HostIP replaced by the the actual Node's IP if HostIP is 0.0.0.0

  • 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 0.0.0.0

  • 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

Documentation

Index

Constants

View Source
const APIVERSION = "1.16"

The Client API version

View Source
const DefaultDockerPort = ":2375"

The default port to listen on for incoming connections

Variables

This section is empty.

Functions

func NewRouter

func NewRouter(cluster cluster.Cluster, tlsConfig *tls.Config, enableCors bool) *mux.Router

NewRouter creates a new API router.

Types

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 ReverseProxy

type ReverseProxy struct {
	// contains filtered or unexported fields
}

ReverseProxy is a Docker reverse proxy.

func NewReverseProxy

func NewReverseProxy(tlsConfig *tls.Config) *ReverseProxy

NewReverseProxy creates a new reverse proxy.

func (*ReverseProxy) ServeHTTP

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

ServeHTTP is the http.Handler.

func (*ReverseProxy) SetDestination

func (p *ReverseProxy) SetDestination(dest string)

SetDestination sets the HTTP destination of the Docker endpoint.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server is a Docker API server.

func NewServer

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

NewServer creates an api.Server.

func (*Server) ListenAndServe

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

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 WriteFlusher

type WriteFlusher struct {
	sync.Mutex
	// 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
y or Y : Canonical URL