the URL is not supported by the daemon, a HTTP `400 Bad Request` error message
the URL is not supported by the daemon, a HTTP `400 Bad Request` error message
is returned.
is returned.
If you omit the version-prefix, the current version of the API (v1.40) is used.
If you omit the version-prefix, the current version of the API (v1.41) is used.
For example, calling `/info` is the same as calling `/v1.40/info`. Using the
For example, calling `/info` is the same as calling `/v1.41/info`. Using the
API without a version-prefix is deprecated and will be removed in a future release.
API without a version-prefix is deprecated and will be removed in a future release.
Engine releases in the near future should support this version of the API,
Engine releases in the near future should support this version of the API,
@ -703,6 +703,19 @@ definitions:
description:"A list of kernel capabilities to drop from the container. Conflicts with option 'Capabilities'"
description:"A list of kernel capabilities to drop from the container. Conflicts with option 'Capabilities'"
items:
items:
type:"string"
type:"string"
CgroupnsMode:
type:"string"
enum:
- "private"
- "host"
description:|
cgroup namespace mode for the container. Possible values are:
- `"private"`: the container runs in its own private cgroup namespace
- `"host"`: use the host system's cgroup namespace
If not specified, the daemon default is used, which can either be `"private"`
or `"host"`, depending on daemon version, kernel support and configuration.
Dns:
Dns:
type:"array"
type:"array"
description:"A list of DNS servers for the container to use."
description:"A list of DNS servers for the container to use."
@ -1141,6 +1154,7 @@ definitions:
type:"object"
type:"object"
additionalProperties:
additionalProperties:
type:"array"
type:"array"
x-nullable:true
items:
items:
$ref:"#/definitions/PortBinding"
$ref:"#/definitions/PortBinding"
example:
example:
@ -1165,7 +1179,6 @@ definitions:
PortBinding represents a binding between a host IP address and a host
PortBinding represents a binding between a host IP address and a host
port.
port.
type:"object"
type:"object"
x-nullable:true
properties:
properties:
HostIp:
HostIp:
description:"Host IP address that the container's port is mapped to."
description:"Host IP address that the container's port is mapped to."
@ -2869,6 +2882,18 @@ definitions:
type:"object"
type:"object"
additionalProperties:
additionalProperties:
type:"string"
type:"string"
# This option is not used by Windows containers
Capabilities:
type:"array"
description:|
A list of kernel capabilities to be available for container (this overrides the default set).
items:
type:"string"
example:
- "CAP_NET_RAW"
- "CAP_SYS_ADMIN"
- "CAP_SYS_CHROOT"
- "CAP_SYSLOG"
NetworkAttachmentSpec:
NetworkAttachmentSpec:
description:|
description:|
Read-only spec type for non-swarm containers attached to swarm overlay
Read-only spec type for non-swarm containers attached to swarm overlay
@ -2970,16 +2995,10 @@ definitions:
description:"Runtime is the type of runtime specified for the task executor."
description:"Runtime is the type of runtime specified for the task executor."
type:"string"
type:"string"
Networks:
Networks:
description:"Specifies which networks the service should attach to."
type:"array"
type:"array"
items:
items:
type:"object"
$ref:"#/definitions/NetworkAttachmentConfig"
properties:
Target:
type:"string"
Aliases:
type:"array"
items:
type:"string"
LogDriver:
LogDriver:
description:"Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified."
description:"Specifies the log driver to use for tasks created from this spec. If not present, the default one for the swarm will be used, finally falling back to the engine default if not specified."
type:"object"
type:"object"
@ -3225,17 +3244,11 @@ definitions:
- "stop-first"
- "stop-first"
- "start-first"
- "start-first"
Networks:
Networks:
description:"Array of network names or IDs to attach the service to."
description:"Specifies which networks the service should attach to."
type:"array"
type:"array"
items:
items:
type:"object"
$ref:"#/definitions/NetworkAttachmentConfig"
properties:
Target:
type:"string"
Aliases:
type:"array"
items:
type:"string"
EndpointSpec:
EndpointSpec:
$ref:"#/definitions/EndpointSpec"
$ref:"#/definitions/EndpointSpec"
@ -3262,7 +3275,7 @@ definitions:
<p><br /></p>
<p><br /></p>
- "ingress"makes the target port accessible on on every node,
- "ingress"makes the target port accessible on every node,
regardless of whether there is a task for the service running on
regardless of whether there is a task for the service running on
that node or not.
that node or not.
- "host"bypasses the routing mesh and publish the port directly on
- "host"bypasses the routing mesh and publish the port directly on
@ -3280,8 +3293,8 @@ definitions:
type:"object"
type:"object"
properties:
properties:
Mode:
Mode:
description:"The mode of resolution to use for internal load balancing
description:|
between tasks."
The mode of resolution to use for internal load balancing between tasks.
type:"string"
type:"string"
enum:
enum:
- "vip"
- "vip"
@ -3344,6 +3357,27 @@ definitions:
format:"dateTime"
format:"dateTime"
Message:
Message:
type:"string"
type:"string"
ServiceStatus:
description:|
The status of the service's tasks. Provided only when requested as
part of a ServiceList operation.
type:"object"
properties:
RunningTasks:
description:"The number of tasks for the service currently in the Running state"
type:"integer"
format:"uint64"
example:7
DesiredTasks:
description:|
The number of tasks for the service desired to be running.
For replicated services, this is the replica count from the
service spec. For global services, this is computed by taking
count of all tasks for the service with a Desired State other
than Shutdown.
type:"integer"
format:"uint64"
example:10
example:
example:
ID:"9mnpnzenvg8p8tdbtq4wvbkcz"
ID:"9mnpnzenvg8p8tdbtq4wvbkcz"
Version:
Version:
@ -3805,7 +3839,7 @@ definitions:
description:|
description:|
The driver to use for managing cgroups.
The driver to use for managing cgroups.
type:"string"
type:"string"
enum:["cgroupfs","systemd"]
enum:["cgroupfs","systemd","none"]
default:"cgroupfs"
default:"cgroupfs"
example:"cgroupfs"
example:"cgroupfs"
NEventsListener:
NEventsListener:
@ -3827,6 +3861,17 @@ definitions:
or "Windows Server 2016 Datacenter"
or "Windows Server 2016 Datacenter"
type:"string"
type:"string"
example:"Alpine Linux v3.5"
example:"Alpine Linux v3.5"
OSVersion:
description:|
Version of the host's operating system
<p><br /></p>
> **Note**:The information returned in this field, including its
> very existence, and the formatting of values, should not be considered
> stable, and may change without notice.
type:"string"
example:"16.04"
OSType:
OSType:
description:|
description:|
Generic type of the operating system of the host, as returned by the
Generic type of the operating system of the host, as returned by the
@ -4040,7 +4085,7 @@ definitions:
SecurityOptions:
SecurityOptions:
description:|
description:|
List of security features that are enabled on the daemon, such as
List of security features that are enabled on the daemon, such as
apparmor, seccomp, SELinux, and user-namespaces (userns).
apparmor, seccomp, SELinux, user-namespaces (userns), and rootless.
Additional configuration options for each security feature may
Additional configuration options for each security feature may
be present, and are included as a comma-separated list of key/value
be present, and are included as a comma-separated list of key/value
@ -4053,6 +4098,7 @@ definitions:
- "name=seccomp,profile=default"
- "name=seccomp,profile=default"
- "name=selinux"
- "name=selinux"
- "name=userns"
- "name=userns"
- "name=rootless"
ProductLicense:
ProductLicense:
description:|
description:|
Reports a summary of the product license on the daemon.
Reports a summary of the product license on the daemon.
@ -4406,6 +4452,24 @@ definitions:
IP address and ports at which this node can be reached.
IP address and ports at which this node can be reached.
type:"string"
type:"string"
NetworkAttachmentConfig:
description:"Specifies how a service should be attached to a particular network."
type:"object"
properties:
Target:
description:"The target network for attachment. Must be a network name or ID."
type:"string"
Aliases:
description:"Discoverable alternate names for the service on this network."
type:"array"
items:
type:"string"
DriverOpts:
description:"Driver attachment options for the network target"
type:"object"
additionalProperties:
type:"string"
paths:
paths:
/containers/json:
/containers/json:
get:
get:
@ -4836,7 +4900,7 @@ paths:
Note that a running container can be _paused_. The `Running` and `Paused`
Note that a running container can be _paused_. The `Running` and `Paused`
booleans are not mutually exclusive:
booleans are not mutually exclusive:
When pausing a container (on Linux), the cgroups freezer is used to suspend
When pausing a container (on Linux), the freezer cgroup is used to suspend
all processes in the container. Freezing the process requires the process to
all processes in the container. Freezing the process requires the process to
be running. As a result, paused containers are both `Running` _and_ `Paused`.
be running. As a result, paused containers are both `Running` _and_ `Paused`.
@ -4887,6 +4951,8 @@ paths:
type:"integer"
type:"integer"
Driver:
Driver:
type:"string"
type:"string"
Platform:
type:"string"
MountLabel:
MountLabel:
type:"string"
type:"string"
ProcessLabel:
ProcessLabel:
@ -5462,7 +5528,7 @@ paths:
/containers/{id}/resize:
/containers/{id}/resize:
post:
post:
summary:"Resize a container TTY"
summary:"Resize a container TTY"
description:"Resize the TTY for a container. You must restart the container for the resize to take effect."
description:"Resize the TTY for a container."
operationId:"ContainerResize"
operationId:"ContainerResize"
consumes:
consumes:
- "application/octet-stream"
- "application/octet-stream"
@ -5506,8 +5572,6 @@ paths:
description:"no error"
description:"no error"
304:
304:
description:"container already started"
description:"container already started"
schema:
$ref:"#/definitions/ErrorResponse"
404:
404:
description:"no such container"
description:"no such container"
schema:
schema:
@ -5539,8 +5603,6 @@ paths:
description:"no error"
description:"no error"
304:
304:
description:"container already stopped"
description:"container already stopped"
schema:
$ref:"#/definitions/ErrorResponse"
404:
404:
description:"no such container"
description:"no such container"
schema:
schema:
@ -5731,9 +5793,9 @@ paths:
post:
post:
summary:"Pause a container"
summary:"Pause a container"
description:|
description:|
Use the cgroups freezer to suspend all processes in a container.
Use the freezer cgroup to suspend all processes in a container.
Traditionally, when suspending a process the `SIGSTOP` signal is used, which is observable by the process being suspended. With the cgroups freezer the process is unaware, and unable to capture, that it is being suspended, and subsequently resumed.
Traditionally, when suspending a process the `SIGSTOP` signal is used, which is observable by the process being suspended. With the freezer cgroup the process is unaware, and unable to capture, that it is being suspended, and subsequently resumed.
operationId:"ContainerPause"
operationId:"ContainerPause"
responses:
responses:
204:
204:
@ -6216,12 +6278,17 @@ paths:
in:"query"
in:"query"
description:"If “1”, “true”, or “True” then it will be an error if unpacking the given content would cause an existing directory to be replaced with a non-directory and vice versa."
description:"If “1”, “true”, or “True” then it will be an error if unpacking the given content would cause an existing directory to be replaced with a non-directory and vice versa."
type:"string"
type:"string"
- name:"copyUIDGID"
in:"query"
description:"If “1”, “true”, then it will copy UID/GID maps to the dest file or dir"
type:"string"
- name:"inputStream"
- name:"inputStream"
in:"body"
in:"body"
required:true
required:true
description:"The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
description:"The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz."
schema:
schema:
type:"string"
type:"string"
format:"binary"
tags:["Container"]
tags:["Container"]
/containers/prune:
/containers/prune:
post:
post:
@ -6451,10 +6518,11 @@ paths:
type:"string"
type:"string"
- name:"networkmode"
- name:"networkmode"
in:"query"
in:"query"
description:"Sets the networking mode for the run commands during
description:|
build. Supported standard values are:`bridge`, `host`, `none`, and
Sets the networking mode for the run commands during build. Supported
`container:<name|id>`. Any other value is taken as a custom network's
standard values are:`bridge`, `host`, `none`, and `container:<name|id>`.
name to which this container should connect to."
Any other value is taken as a custom network's name or ID to which this
container should connect to.
type:"string"
type:"string"
- name:"Content-type"
- name:"Content-type"
in:"header"
in:"header"
@ -9106,7 +9174,9 @@ paths:
type:"string"
type:"string"
RemoteAddrs:
RemoteAddrs:
description:"Addresses of manager nodes already participating in the swarm."
description:"Addresses of manager nodes already participating in the swarm."
type:"string"
type:"array"
items:
type:"string"
JoinToken:
JoinToken:
description:"Secret token for joining this swarm."
description:"Secret token for joining this swarm."
type:"string"
type:"string"
@ -9275,6 +9345,10 @@ paths:
- `label=<service label>`
- `label=<service label>`
- `mode=["replicated"|"global"]`
- `mode=["replicated"|"global"]`
- `name=<service name>`
- `name=<service name>`
- name:"status"
in:"query"
type:"boolean"
description:"Include service status, with count of running and desired tasks"
tags:["Service"]
tags:["Service"]
/services/create:
/services/create:
post:
post:
@ -9541,17 +9615,19 @@ paths:
type:"integer"
type:"integer"
- name:"registryAuthFrom"
- name:"registryAuthFrom"
in:"query"
in:"query"
description:|
If the `X-Registry-Auth` header is not specified, this parameter
indicates where to find registry authorization credentials.
type:"string"
type:"string"
description:"If the X-Registry-Auth header is not specified, this
enum:["spec","previous-spec"]
parameter indicates where to find registry authorization credentials. The
valid values are `spec` and `previous-spec`."
default:"spec"
default:"spec"
- name:"rollback"
- name:"rollback"
in:"query"
in:"query"
description:|
Set to this parameter to `previous` to cause a server-side rollback
to the previous service spec. The supplied spec will be ignored in
this case.
type:"string"
type:"string"
description:"Set to this parameter to `previous` to cause a
server-side rollback to the previous service spec. The supplied spec will be
ignored in this case."
- name:"X-Registry-Auth"
- name:"X-Registry-Auth"
in:"header"
in:"header"
description:"A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
description:"A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)"
@ -10371,9 +10447,6 @@ paths:
description:|
description:|
Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities.
Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities.
> **Note**:This endpoint is *experimental* and only available if the daemon is started with experimental
> features enabled. The specifications for this endpoint may still change in a future version of the API.
### Hijacking
### Hijacking
This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection.
This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection.
err=errors.New(err.Error()+" In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.")
// Checks if client is running with elevated privileges
// Stefan Banach - Polish mathematician, was one of the founders of modern functional analysis. https://en.wikipedia.org/wiki/Stefan_Banach
// Stefan Banach - Polish mathematician, was one of the founders of modern functional analysis. https://en.wikipedia.org/wiki/Stefan_Banach
"banach",
"banach",
// Buckaroo Banzai and his mentor Dr. Hikita perfectd the "oscillation overthruster", a device that allows one to pass through solid matter. - https://en.wikipedia.org/wiki/The_Adventures_of_Buckaroo_Banzai_Across_the_8th_Dimension
// Buckaroo Banzai and his mentor Dr. Hikita perfected the "oscillation overthruster", a device that allows one to pass through solid matter. - https://en.wikipedia.org/wiki/The_Adventures_of_Buckaroo_Banzai_Across_the_8th_Dimension
"banzai",
"banzai",
// John Bardeen co-invented the transistor - https://en.wikipedia.org/wiki/John_Bardeen
// John Bardeen co-invented the transistor - https://en.wikipedia.org/wiki/John_Bardeen
@ -588,9 +587,6 @@ var (
// Johanna Mestorf - German prehistoric archaeologist and first female museum director in Germany - https://en.wikipedia.org/wiki/Johanna_Mestorf
// Johanna Mestorf - German prehistoric archaeologist and first female museum director in Germany - https://en.wikipedia.org/wiki/Johanna_Mestorf
"mestorf",
"mestorf",
// Marvin Minsky - Pioneer in Artificial Intelligence, co-founder of the MIT's AI Lab, won the Turing Award in 1969. https://en.wikipedia.org/wiki/Marvin_Minsky
"minsky",
// Maryam Mirzakhani - an Iranian mathematician and the first woman to win the Fields Medal. https://en.wikipedia.org/wiki/Maryam_Mirzakhani
// Maryam Mirzakhani - an Iranian mathematician and the first woman to win the Fields Medal. https://en.wikipedia.org/wiki/Maryam_Mirzakhani
"mirzakhani",
"mirzakhani",
@ -738,9 +734,6 @@ var (
// Frances Spence - one of the original programmers of the ENIAC. https://en.wikipedia.org/wiki/ENIAC - https://en.wikipedia.org/wiki/Frances_Spence
// Frances Spence - one of the original programmers of the ENIAC. https://en.wikipedia.org/wiki/ENIAC - https://en.wikipedia.org/wiki/Frances_Spence
"spence",
"spence",
// Richard Matthew Stallman - the founder of the Free Software movement, the GNU project, the Free Software Foundation, and the League for Programming Freedom. He also invented the concept of copyleft to protect the ideals of this movement, and enshrined this concept in the widely-used GPL (General Public License) for software. https://en.wikiquote.org/wiki/Richard_Stallman
"stallman",
// Michael Stonebraker is a database research pioneer and architect of Ingres, Postgres, VoltDB and SciDB. Winner of 2014 ACM Turing Award. https://en.wikipedia.org/wiki/Michael_Stonebraker
// Michael Stonebraker is a database research pioneer and architect of Ingres, Postgres, VoltDB and SciDB. Winner of 2014 ACM Turing Award. https://en.wikipedia.org/wiki/Michael_Stonebraker