github.com/wozhu6104/docker@v20.10.10+incompatible/docs/api/v1.38.yaml (about) 1 # A Swagger 2.0 (a.k.a. OpenAPI) definition of the Engine API. 2 # 3 # This is used for generating API documentation and the types used by the 4 # client/server. See api/README.md for more information. 5 # 6 # Some style notes: 7 # - This file is used by ReDoc, which allows GitHub Flavored Markdown in 8 # descriptions. 9 # - There is no maximum line length, for ease of editing and pretty diffs. 10 # - operationIds are in the format "NounVerb", with a singular noun. 11 12 swagger: "2.0" 13 schemes: 14 - "http" 15 - "https" 16 produces: 17 - "application/json" 18 - "text/plain" 19 consumes: 20 - "application/json" 21 - "text/plain" 22 basePath: "/v1.38" 23 info: 24 title: "Docker Engine API" 25 version: "1.38" 26 x-logo: 27 url: "https://docs.docker.com/images/logo-docker-main.png" 28 description: | 29 The Engine API is an HTTP API served by Docker Engine. It is the API the Docker client uses to communicate with the Engine, so everything the Docker client can do can be done with the API. 30 31 Most of the client's commands map directly to API endpoints (e.g. `docker ps` is `GET /containers/json`). The notable exception is running containers, which consists of several API calls. 32 33 # Errors 34 35 The API uses standard HTTP status codes to indicate the success or failure of the API call. The body of the response will be JSON in the following format: 36 37 ``` 38 { 39 "message": "page not found" 40 } 41 ``` 42 43 # Versioning 44 45 The API is usually changed in each release, so API calls are versioned to 46 ensure that clients don't break. To lock to a specific version of the API, 47 you prefix the URL with its version, for example, call `/v1.30/info` to use 48 the v1.30 version of the `/info` endpoint. If the API version specified in 49 the URL is not supported by the daemon, a HTTP `400 Bad Request` error message 50 is returned. 51 52 If you omit the version-prefix, the current version of the API (v1.38) is used. 53 For example, calling `/info` is the same as calling `/v1.38/info`. Using the 54 API without a version-prefix is deprecated and will be removed in a future release. 55 56 Engine releases in the near future should support this version of the API, 57 so your client will continue to work even if it is talking to a newer Engine. 58 59 The API uses an open schema model, which means server may add extra properties 60 to responses. Likewise, the server will ignore any extra query parameters and 61 request body properties. When you write clients, you need to ignore additional 62 properties in responses to ensure they do not break when talking to newer 63 daemons. 64 65 66 # Authentication 67 68 Authentication for registries is handled client side. The client has to send authentication details to various endpoints that need to communicate with registries, such as `POST /images/(name)/push`. These are sent as `X-Registry-Auth` header as a Base64 encoded (JSON) string with the following structure: 69 70 ``` 71 { 72 "username": "string", 73 "password": "string", 74 "email": "string", 75 "serveraddress": "string" 76 } 77 ``` 78 79 The `serveraddress` is a domain/IP without a protocol. Throughout this structure, double quotes are required. 80 81 If you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth), you can just pass this instead of credentials: 82 83 ``` 84 { 85 "identitytoken": "9cbaf023786cd7..." 86 } 87 ``` 88 89 # The tags on paths define the menu sections in the ReDoc documentation, so 90 # the usage of tags must make sense for that: 91 # - They should be singular, not plural. 92 # - There should not be too many tags, or the menu becomes unwieldy. For 93 # example, it is preferable to add a path to the "System" tag instead of 94 # creating a tag with a single path in it. 95 # - The order of tags in this list defines the order in the menu. 96 tags: 97 # Primary objects 98 - name: "Container" 99 x-displayName: "Containers" 100 description: | 101 Create and manage containers. 102 - name: "Image" 103 x-displayName: "Images" 104 - name: "Network" 105 x-displayName: "Networks" 106 description: | 107 Networks are user-defined networks that containers can be attached to. See the [networking documentation](https://docs.docker.com/network/) for more information. 108 - name: "Volume" 109 x-displayName: "Volumes" 110 description: | 111 Create and manage persistent storage that can be attached to containers. 112 - name: "Exec" 113 x-displayName: "Exec" 114 description: | 115 Run new commands inside running containers. See the [command-line reference](https://docs.docker.com/engine/reference/commandline/exec/) for more information. 116 117 To exec a command in a container, you first need to create an exec instance, then start it. These two API endpoints are wrapped up in a single command-line command, `docker exec`. 118 # Swarm things 119 - name: "Swarm" 120 x-displayName: "Swarm" 121 description: | 122 Engines can be clustered together in a swarm. See [the swarm mode documentation](https://docs.docker.com/engine/swarm/) for more information. 123 - name: "Node" 124 x-displayName: "Nodes" 125 description: | 126 Nodes are instances of the Engine participating in a swarm. Swarm mode must be enabled for these endpoints to work. 127 - name: "Service" 128 x-displayName: "Services" 129 description: | 130 Services are the definitions of tasks to run on a swarm. Swarm mode must be enabled for these endpoints to work. 131 - name: "Task" 132 x-displayName: "Tasks" 133 description: | 134 A task is a container running on a swarm. It is the atomic scheduling unit of swarm. Swarm mode must be enabled for these endpoints to work. 135 - name: "Secret" 136 x-displayName: "Secrets" 137 description: | 138 Secrets are sensitive data that can be used by services. Swarm mode must be enabled for these endpoints to work. 139 - name: "Config" 140 x-displayName: "Configs" 141 description: | 142 Configs are application configurations that can be used by services. Swarm mode must be enabled for these endpoints to work. 143 # System things 144 - name: "Plugin" 145 x-displayName: "Plugins" 146 - name: "System" 147 x-displayName: "System" 148 149 definitions: 150 Port: 151 type: "object" 152 description: "An open port on a container" 153 required: [PrivatePort, Type] 154 properties: 155 IP: 156 type: "string" 157 format: "ip-address" 158 description: "Host IP address that the container's port is mapped to" 159 PrivatePort: 160 type: "integer" 161 format: "uint16" 162 x-nullable: false 163 description: "Port on the container" 164 PublicPort: 165 type: "integer" 166 format: "uint16" 167 description: "Port exposed on the host" 168 Type: 169 type: "string" 170 x-nullable: false 171 enum: ["tcp", "udp", "sctp"] 172 example: 173 PrivatePort: 8080 174 PublicPort: 80 175 Type: "tcp" 176 177 MountPoint: 178 type: "object" 179 description: "A mount point inside a container" 180 properties: 181 Type: 182 type: "string" 183 Name: 184 type: "string" 185 Source: 186 type: "string" 187 Destination: 188 type: "string" 189 Driver: 190 type: "string" 191 Mode: 192 type: "string" 193 RW: 194 type: "boolean" 195 Propagation: 196 type: "string" 197 198 DeviceMapping: 199 type: "object" 200 description: "A device mapping between the host and container" 201 properties: 202 PathOnHost: 203 type: "string" 204 PathInContainer: 205 type: "string" 206 CgroupPermissions: 207 type: "string" 208 example: 209 PathOnHost: "/dev/deviceName" 210 PathInContainer: "/dev/deviceName" 211 CgroupPermissions: "mrw" 212 213 ThrottleDevice: 214 type: "object" 215 properties: 216 Path: 217 description: "Device path" 218 type: "string" 219 Rate: 220 description: "Rate" 221 type: "integer" 222 format: "int64" 223 minimum: 0 224 225 Mount: 226 type: "object" 227 properties: 228 Target: 229 description: "Container path." 230 type: "string" 231 Source: 232 description: "Mount source (e.g. a volume name, a host path)." 233 type: "string" 234 Type: 235 description: | 236 The mount type. Available types: 237 238 - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container. 239 - `volume` Creates a volume with the given name and options (or uses a pre-existing volume with the same name and options). These are **not** removed when the container is removed. 240 - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs. 241 type: "string" 242 enum: 243 - "bind" 244 - "volume" 245 - "tmpfs" 246 ReadOnly: 247 description: "Whether the mount should be read-only." 248 type: "boolean" 249 Consistency: 250 description: "The consistency requirement for the mount: `default`, `consistent`, `cached`, or `delegated`." 251 type: "string" 252 BindOptions: 253 description: "Optional configuration for the `bind` type." 254 type: "object" 255 properties: 256 Propagation: 257 description: "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`." 258 type: "string" 259 enum: 260 - "private" 261 - "rprivate" 262 - "shared" 263 - "rshared" 264 - "slave" 265 - "rslave" 266 VolumeOptions: 267 description: "Optional configuration for the `volume` type." 268 type: "object" 269 properties: 270 NoCopy: 271 description: "Populate volume with data from the target." 272 type: "boolean" 273 default: false 274 Labels: 275 description: "User-defined key/value metadata." 276 type: "object" 277 additionalProperties: 278 type: "string" 279 DriverConfig: 280 description: "Map of driver specific options" 281 type: "object" 282 properties: 283 Name: 284 description: "Name of the driver to use to create the volume." 285 type: "string" 286 Options: 287 description: "key/value map of driver specific options." 288 type: "object" 289 additionalProperties: 290 type: "string" 291 TmpfsOptions: 292 description: "Optional configuration for the `tmpfs` type." 293 type: "object" 294 properties: 295 SizeBytes: 296 description: "The size for the tmpfs mount in bytes." 297 type: "integer" 298 format: "int64" 299 Mode: 300 description: "The permission mode for the tmpfs mount in an integer." 301 type: "integer" 302 303 RestartPolicy: 304 description: | 305 The behavior to apply when the container exits. The default is not to restart. 306 307 An ever increasing delay (double the previous delay, starting at 100ms) is added before each restart to prevent flooding the server. 308 type: "object" 309 properties: 310 Name: 311 type: "string" 312 description: | 313 - Empty string means not to restart 314 - `always` Always restart 315 - `unless-stopped` Restart always except when the user has manually stopped the container 316 - `on-failure` Restart only when the container exit code is non-zero 317 enum: 318 - "" 319 - "always" 320 - "unless-stopped" 321 - "on-failure" 322 MaximumRetryCount: 323 type: "integer" 324 description: "If `on-failure` is used, the number of times to retry before giving up" 325 326 Resources: 327 description: "A container's resources (cgroups config, ulimits, etc)" 328 type: "object" 329 properties: 330 # Applicable to all platforms 331 CpuShares: 332 description: "An integer value representing this container's relative CPU weight versus other containers." 333 type: "integer" 334 Memory: 335 description: "Memory limit in bytes." 336 type: "integer" 337 format: "int64" 338 default: 0 339 # Applicable to UNIX platforms 340 CgroupParent: 341 description: "Path to `cgroups` under which the container's `cgroup` is created. If the path is not absolute, the path is considered to be relative to the `cgroups` path of the init process. Cgroups are created if they do not already exist." 342 type: "string" 343 BlkioWeight: 344 description: "Block IO weight (relative weight)." 345 type: "integer" 346 minimum: 0 347 maximum: 1000 348 BlkioWeightDevice: 349 description: | 350 Block IO weight (relative device weight) in the form `[{"Path": "device_path", "Weight": weight}]`. 351 type: "array" 352 items: 353 type: "object" 354 properties: 355 Path: 356 type: "string" 357 Weight: 358 type: "integer" 359 minimum: 0 360 BlkioDeviceReadBps: 361 description: | 362 Limit read rate (bytes per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 363 type: "array" 364 items: 365 $ref: "#/definitions/ThrottleDevice" 366 BlkioDeviceWriteBps: 367 description: | 368 Limit write rate (bytes per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 369 type: "array" 370 items: 371 $ref: "#/definitions/ThrottleDevice" 372 BlkioDeviceReadIOps: 373 description: | 374 Limit read rate (IO per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 375 type: "array" 376 items: 377 $ref: "#/definitions/ThrottleDevice" 378 BlkioDeviceWriteIOps: 379 description: | 380 Limit write rate (IO per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 381 type: "array" 382 items: 383 $ref: "#/definitions/ThrottleDevice" 384 CpuPeriod: 385 description: "The length of a CPU period in microseconds." 386 type: "integer" 387 format: "int64" 388 CpuQuota: 389 description: "Microseconds of CPU time that the container can get in a CPU period." 390 type: "integer" 391 format: "int64" 392 CpuRealtimePeriod: 393 description: "The length of a CPU real-time period in microseconds. Set to 0 to allocate no time allocated to real-time tasks." 394 type: "integer" 395 format: "int64" 396 CpuRealtimeRuntime: 397 description: "The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no time allocated to real-time tasks." 398 type: "integer" 399 format: "int64" 400 CpusetCpus: 401 description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)" 402 type: "string" 403 example: "0-3" 404 CpusetMems: 405 description: "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems." 406 type: "string" 407 Devices: 408 description: "A list of devices to add to the container." 409 type: "array" 410 items: 411 $ref: "#/definitions/DeviceMapping" 412 DeviceCgroupRules: 413 description: "a list of cgroup rules to apply to the container" 414 type: "array" 415 items: 416 type: "string" 417 example: "c 13:* rwm" 418 DiskQuota: 419 description: "Disk limit (in bytes)." 420 type: "integer" 421 format: "int64" 422 KernelMemory: 423 description: "Kernel memory limit in bytes." 424 type: "integer" 425 format: "int64" 426 MemoryReservation: 427 description: "Memory soft limit in bytes." 428 type: "integer" 429 format: "int64" 430 MemorySwap: 431 description: "Total memory limit (memory + swap). Set as `-1` to enable unlimited swap." 432 type: "integer" 433 format: "int64" 434 MemorySwappiness: 435 description: "Tune a container's memory swappiness behavior. Accepts an integer between 0 and 100." 436 type: "integer" 437 format: "int64" 438 minimum: 0 439 maximum: 100 440 NanoCpus: 441 description: "CPU quota in units of 10<sup>-9</sup> CPUs." 442 type: "integer" 443 format: "int64" 444 OomKillDisable: 445 description: "Disable OOM Killer for the container." 446 type: "boolean" 447 Init: 448 description: "Run an init inside the container that forwards signals and reaps processes. This field is omitted if empty, and the default (as configured on the daemon) is used." 449 type: "boolean" 450 x-nullable: true 451 PidsLimit: 452 description: "Tune a container's pids limit. Set -1 for unlimited." 453 type: "integer" 454 format: "int64" 455 Ulimits: 456 description: | 457 A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`" 458 type: "array" 459 items: 460 type: "object" 461 properties: 462 Name: 463 description: "Name of ulimit" 464 type: "string" 465 Soft: 466 description: "Soft limit" 467 type: "integer" 468 Hard: 469 description: "Hard limit" 470 type: "integer" 471 # Applicable to Windows 472 CpuCount: 473 description: | 474 The number of usable CPUs (Windows only). 475 476 On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last. 477 type: "integer" 478 format: "int64" 479 CpuPercent: 480 description: | 481 The usable percentage of the available CPUs (Windows only). 482 483 On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last. 484 type: "integer" 485 format: "int64" 486 IOMaximumIOps: 487 description: "Maximum IOps for the container system drive (Windows only)" 488 type: "integer" 489 format: "int64" 490 IOMaximumBandwidth: 491 description: "Maximum IO in bytes per second for the container system drive (Windows only)" 492 type: "integer" 493 format: "int64" 494 495 ResourceObject: 496 description: "An object describing the resources which can be advertised by a node and requested by a task" 497 type: "object" 498 properties: 499 NanoCPUs: 500 type: "integer" 501 format: "int64" 502 example: 4000000000 503 MemoryBytes: 504 type: "integer" 505 format: "int64" 506 example: 8272408576 507 GenericResources: 508 $ref: "#/definitions/GenericResources" 509 510 GenericResources: 511 description: "User-defined resources can be either Integer resources (e.g, `SSD=3`) or String resources (e.g, `GPU=UUID1`)" 512 type: "array" 513 items: 514 type: "object" 515 properties: 516 NamedResourceSpec: 517 type: "object" 518 properties: 519 Kind: 520 type: "string" 521 Value: 522 type: "string" 523 DiscreteResourceSpec: 524 type: "object" 525 properties: 526 Kind: 527 type: "string" 528 Value: 529 type: "integer" 530 format: "int64" 531 example: 532 - DiscreteResourceSpec: 533 Kind: "SSD" 534 Value: 3 535 - NamedResourceSpec: 536 Kind: "GPU" 537 Value: "UUID1" 538 - NamedResourceSpec: 539 Kind: "GPU" 540 Value: "UUID2" 541 542 HealthConfig: 543 description: "A test to perform to check that the container is healthy." 544 type: "object" 545 properties: 546 Test: 547 description: | 548 The test to perform. Possible values are: 549 550 - `[]` inherit healthcheck from image or parent image 551 - `["NONE"]` disable healthcheck 552 - `["CMD", args...]` exec arguments directly 553 - `["CMD-SHELL", command]` run command with system's default shell 554 type: "array" 555 items: 556 type: "string" 557 Interval: 558 description: "The time to wait between checks in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit." 559 type: "integer" 560 Timeout: 561 description: "The time to wait before considering the check to have hung. It should be 0 or at least 1000000 (1 ms). 0 means inherit." 562 type: "integer" 563 Retries: 564 description: "The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit." 565 type: "integer" 566 StartPeriod: 567 description: "Start period for the container to initialize before starting health-retries countdown in nanoseconds. It should be 0 or at least 1000000 (1 ms). 0 means inherit." 568 type: "integer" 569 570 HostConfig: 571 description: "Container configuration that depends on the host we are running on" 572 allOf: 573 - $ref: "#/definitions/Resources" 574 - type: "object" 575 properties: 576 # Applicable to all platforms 577 Binds: 578 type: "array" 579 description: | 580 A list of volume bindings for this container. Each volume binding is a string in one of these forms: 581 582 - `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path. 583 - `host-src:container-dest:ro` to make the bind mount read-only inside the container. Both `host-src`, and `container-dest` must be an _absolute_ path. 584 - `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path. 585 - `volume-name:container-dest:ro` to mount the volume read-only inside the container. `container-dest` must be an _absolute_ path. 586 items: 587 type: "string" 588 ContainerIDFile: 589 type: "string" 590 description: "Path to a file where the container ID is written" 591 LogConfig: 592 type: "object" 593 description: "The logging configuration for this container" 594 properties: 595 Type: 596 type: "string" 597 enum: 598 - "json-file" 599 - "syslog" 600 - "journald" 601 - "gelf" 602 - "fluentd" 603 - "awslogs" 604 - "splunk" 605 - "etwlogs" 606 - "none" 607 Config: 608 type: "object" 609 additionalProperties: 610 type: "string" 611 NetworkMode: 612 type: "string" 613 description: "Network mode to use for this container. Supported standard values are: `bridge`, `host`, `none`, and `container:<name|id>`. Any other value is taken 614 as a custom network's name to which this container should connect to." 615 PortBindings: 616 $ref: "#/definitions/PortMap" 617 RestartPolicy: 618 $ref: "#/definitions/RestartPolicy" 619 AutoRemove: 620 type: "boolean" 621 description: "Automatically remove the container when the container's process exits. This has no effect if `RestartPolicy` is set." 622 VolumeDriver: 623 type: "string" 624 description: "Driver that this container uses to mount volumes." 625 VolumesFrom: 626 type: "array" 627 description: "A list of volumes to inherit from another container, specified in the form `<container name>[:<ro|rw>]`." 628 items: 629 type: "string" 630 Mounts: 631 description: "Specification for mounts to be added to the container." 632 type: "array" 633 items: 634 $ref: "#/definitions/Mount" 635 636 # Applicable to UNIX platforms 637 CapAdd: 638 type: "array" 639 description: "A list of kernel capabilities to add to the container." 640 items: 641 type: "string" 642 CapDrop: 643 type: "array" 644 description: "A list of kernel capabilities to drop from the container." 645 items: 646 type: "string" 647 Dns: 648 type: "array" 649 description: "A list of DNS servers for the container to use." 650 items: 651 type: "string" 652 DnsOptions: 653 type: "array" 654 description: "A list of DNS options." 655 items: 656 type: "string" 657 DnsSearch: 658 type: "array" 659 description: "A list of DNS search domains." 660 items: 661 type: "string" 662 ExtraHosts: 663 type: "array" 664 description: | 665 A list of hostnames/IP mappings to add to the container's `/etc/hosts` file. Specified in the form `["hostname:IP"]`. 666 items: 667 type: "string" 668 GroupAdd: 669 type: "array" 670 description: "A list of additional groups that the container process will run as." 671 items: 672 type: "string" 673 IpcMode: 674 type: "string" 675 description: | 676 IPC sharing mode for the container. Possible values are: 677 678 - `"none"`: own private IPC namespace, with /dev/shm not mounted 679 - `"private"`: own private IPC namespace 680 - `"shareable"`: own private IPC namespace, with a possibility to share it with other containers 681 - `"container:<name|id>"`: join another (shareable) container's IPC namespace 682 - `"host"`: use the host system's IPC namespace 683 684 If not specified, daemon default is used, which can either be `"private"` 685 or `"shareable"`, depending on daemon version and configuration. 686 Cgroup: 687 type: "string" 688 description: "Cgroup to use for the container." 689 Links: 690 type: "array" 691 description: "A list of links for the container in the form `container_name:alias`." 692 items: 693 type: "string" 694 OomScoreAdj: 695 type: "integer" 696 description: "An integer value containing the score given to the container in order to tune OOM killer preferences." 697 example: 500 698 PidMode: 699 type: "string" 700 description: | 701 Set the PID (Process) Namespace mode for the container. It can be either: 702 703 - `"container:<name|id>"`: joins another container's PID namespace 704 - `"host"`: use the host's PID namespace inside the container 705 Privileged: 706 type: "boolean" 707 description: "Gives the container full access to the host." 708 PublishAllPorts: 709 type: "boolean" 710 description: | 711 Allocates an ephemeral host port for all of a container's 712 exposed ports. 713 714 Ports are de-allocated when the container stops and allocated when the container starts. 715 The allocated port might be changed when restarting the container. 716 717 The port is selected from the ephemeral port range that depends on the kernel. 718 For example, on Linux the range is defined by `/proc/sys/net/ipv4/ip_local_port_range`. 719 ReadonlyRootfs: 720 type: "boolean" 721 description: "Mount the container's root filesystem as read only." 722 SecurityOpt: 723 type: "array" 724 description: "A list of string values to customize labels for MLS 725 systems, such as SELinux." 726 items: 727 type: "string" 728 StorageOpt: 729 type: "object" 730 description: | 731 Storage driver options for this container, in the form `{"size": "120G"}`. 732 additionalProperties: 733 type: "string" 734 Tmpfs: 735 type: "object" 736 description: | 737 A map of container directories which should be replaced by tmpfs mounts, and their corresponding mount options. For example: `{ "/run": "rw,noexec,nosuid,size=65536k" }`. 738 additionalProperties: 739 type: "string" 740 UTSMode: 741 type: "string" 742 description: "UTS namespace to use for the container." 743 UsernsMode: 744 type: "string" 745 description: "Sets the usernamespace mode for the container when usernamespace remapping option is enabled." 746 ShmSize: 747 type: "integer" 748 description: "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB." 749 minimum: 0 750 Sysctls: 751 type: "object" 752 description: | 753 A list of kernel parameters (sysctls) to set in the container. For example: `{"net.ipv4.ip_forward": "1"}` 754 additionalProperties: 755 type: "string" 756 Runtime: 757 type: "string" 758 description: "Runtime to use with this container." 759 # Applicable to Windows 760 ConsoleSize: 761 type: "array" 762 description: "Initial console size, as an `[height, width]` array. (Windows only)" 763 minItems: 2 764 maxItems: 2 765 items: 766 type: "integer" 767 minimum: 0 768 Isolation: 769 type: "string" 770 description: "Isolation technology of the container. (Windows only)" 771 enum: 772 - "default" 773 - "process" 774 - "hyperv" 775 MaskedPaths: 776 type: "array" 777 description: "The list of paths to be masked inside the container (this overrides the default set of paths)" 778 items: 779 type: "string" 780 ReadonlyPaths: 781 type: "array" 782 description: "The list of paths to be set as read-only inside the container (this overrides the default set of paths)" 783 items: 784 type: "string" 785 786 ContainerConfig: 787 description: "Configuration for a container that is portable between hosts" 788 type: "object" 789 properties: 790 Hostname: 791 description: "The hostname to use for the container, as a valid RFC 1123 hostname." 792 type: "string" 793 Domainname: 794 description: "The domain name to use for the container." 795 type: "string" 796 User: 797 description: "The user that commands are run as inside the container." 798 type: "string" 799 AttachStdin: 800 description: "Whether to attach to `stdin`." 801 type: "boolean" 802 default: false 803 AttachStdout: 804 description: "Whether to attach to `stdout`." 805 type: "boolean" 806 default: true 807 AttachStderr: 808 description: "Whether to attach to `stderr`." 809 type: "boolean" 810 default: true 811 ExposedPorts: 812 description: | 813 An object mapping ports to an empty object in the form: 814 815 `{"<port>/<tcp|udp|sctp>": {}}` 816 type: "object" 817 additionalProperties: 818 type: "object" 819 enum: 820 - {} 821 default: {} 822 Tty: 823 description: "Attach standard streams to a TTY, including `stdin` if it is not closed." 824 type: "boolean" 825 default: false 826 OpenStdin: 827 description: "Open `stdin`" 828 type: "boolean" 829 default: false 830 StdinOnce: 831 description: "Close `stdin` after one attached client disconnects" 832 type: "boolean" 833 default: false 834 Env: 835 description: | 836 A list of environment variables to set inside the container in the form `["VAR=value", ...]`. A variable without `=` is removed from the environment, rather than to have an empty value. 837 type: "array" 838 items: 839 type: "string" 840 Cmd: 841 description: "Command to run specified as a string or an array of strings." 842 type: "array" 843 items: 844 type: "string" 845 Healthcheck: 846 $ref: "#/definitions/HealthConfig" 847 ArgsEscaped: 848 description: "Command is already escaped (Windows only)" 849 type: "boolean" 850 Image: 851 description: "The name of the image to use when creating the container" 852 type: "string" 853 Volumes: 854 description: "An object mapping mount point paths inside the container to empty objects." 855 type: "object" 856 additionalProperties: 857 type: "object" 858 enum: 859 - {} 860 default: {} 861 WorkingDir: 862 description: "The working directory for commands to run in." 863 type: "string" 864 Entrypoint: 865 description: | 866 The entry point for the container as a string or an array of strings. 867 868 If the array consists of exactly one empty string (`[""]`) then the entry point is reset to system default (i.e., the entry point used by docker when there is no `ENTRYPOINT` instruction in the `Dockerfile`). 869 type: "array" 870 items: 871 type: "string" 872 NetworkDisabled: 873 description: "Disable networking for the container." 874 type: "boolean" 875 MacAddress: 876 description: "MAC address of the container." 877 type: "string" 878 OnBuild: 879 description: "`ONBUILD` metadata that were defined in the image's `Dockerfile`." 880 type: "array" 881 items: 882 type: "string" 883 Labels: 884 description: "User-defined key/value metadata." 885 type: "object" 886 additionalProperties: 887 type: "string" 888 StopSignal: 889 description: "Signal to stop a container as a string or unsigned integer." 890 type: "string" 891 default: "SIGTERM" 892 StopTimeout: 893 description: "Timeout to stop a container in seconds." 894 type: "integer" 895 default: 10 896 Shell: 897 description: "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell." 898 type: "array" 899 items: 900 type: "string" 901 902 NetworkSettings: 903 description: "NetworkSettings exposes the network settings in the API" 904 type: "object" 905 properties: 906 Bridge: 907 description: Name of the network'a bridge (for example, `docker0`). 908 type: "string" 909 example: "docker0" 910 SandboxID: 911 description: SandboxID uniquely represents a container's network stack. 912 type: "string" 913 example: "9d12daf2c33f5959c8bf90aa513e4f65b561738661003029ec84830cd503a0c3" 914 HairpinMode: 915 description: | 916 Indicates if hairpin NAT should be enabled on the virtual interface. 917 type: "boolean" 918 example: false 919 LinkLocalIPv6Address: 920 description: IPv6 unicast address using the link-local prefix. 921 type: "string" 922 example: "fe80::42:acff:fe11:1" 923 LinkLocalIPv6PrefixLen: 924 description: Prefix length of the IPv6 unicast address. 925 type: "integer" 926 example: "64" 927 Ports: 928 $ref: "#/definitions/PortMap" 929 SandboxKey: 930 description: SandboxKey identifies the sandbox 931 type: "string" 932 example: "/var/run/docker/netns/8ab54b426c38" 933 934 # TODO is SecondaryIPAddresses actually used? 935 SecondaryIPAddresses: 936 description: "" 937 type: "array" 938 items: 939 $ref: "#/definitions/Address" 940 x-nullable: true 941 942 # TODO is SecondaryIPv6Addresses actually used? 943 SecondaryIPv6Addresses: 944 description: "" 945 type: "array" 946 items: 947 $ref: "#/definitions/Address" 948 x-nullable: true 949 950 # TODO properties below are part of DefaultNetworkSettings, which is 951 # marked as deprecated since Docker 1.9 and to be removed in Docker v17.12 952 EndpointID: 953 description: | 954 EndpointID uniquely represents a service endpoint in a Sandbox. 955 956 <p><br /></p> 957 958 > **Deprecated**: This field is only propagated when attached to the 959 > default "bridge" network. Use the information from the "bridge" 960 > network inside the `Networks` map instead, which contains the same 961 > information. This field was deprecated in Docker 1.9 and is scheduled 962 > to be removed in Docker 17.12.0 963 type: "string" 964 example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" 965 Gateway: 966 description: | 967 Gateway address for the default "bridge" network. 968 969 <p><br /></p> 970 971 > **Deprecated**: This field is only propagated when attached to the 972 > default "bridge" network. Use the information from the "bridge" 973 > network inside the `Networks` map instead, which contains the same 974 > information. This field was deprecated in Docker 1.9 and is scheduled 975 > to be removed in Docker 17.12.0 976 type: "string" 977 example: "172.17.0.1" 978 GlobalIPv6Address: 979 description: | 980 Global IPv6 address for the default "bridge" network. 981 982 <p><br /></p> 983 984 > **Deprecated**: This field is only propagated when attached to the 985 > default "bridge" network. Use the information from the "bridge" 986 > network inside the `Networks` map instead, which contains the same 987 > information. This field was deprecated in Docker 1.9 and is scheduled 988 > to be removed in Docker 17.12.0 989 type: "string" 990 example: "2001:db8::5689" 991 GlobalIPv6PrefixLen: 992 description: | 993 Mask length of the global IPv6 address. 994 995 <p><br /></p> 996 997 > **Deprecated**: This field is only propagated when attached to the 998 > default "bridge" network. Use the information from the "bridge" 999 > network inside the `Networks` map instead, which contains the same 1000 > information. This field was deprecated in Docker 1.9 and is scheduled 1001 > to be removed in Docker 17.12.0 1002 type: "integer" 1003 example: 64 1004 IPAddress: 1005 description: | 1006 IPv4 address for the default "bridge" network. 1007 1008 <p><br /></p> 1009 1010 > **Deprecated**: This field is only propagated when attached to the 1011 > default "bridge" network. Use the information from the "bridge" 1012 > network inside the `Networks` map instead, which contains the same 1013 > information. This field was deprecated in Docker 1.9 and is scheduled 1014 > to be removed in Docker 17.12.0 1015 type: "string" 1016 example: "172.17.0.4" 1017 IPPrefixLen: 1018 description: | 1019 Mask length of the IPv4 address. 1020 1021 <p><br /></p> 1022 1023 > **Deprecated**: This field is only propagated when attached to the 1024 > default "bridge" network. Use the information from the "bridge" 1025 > network inside the `Networks` map instead, which contains the same 1026 > information. This field was deprecated in Docker 1.9 and is scheduled 1027 > to be removed in Docker 17.12.0 1028 type: "integer" 1029 example: 16 1030 IPv6Gateway: 1031 description: | 1032 IPv6 gateway address for this network. 1033 1034 <p><br /></p> 1035 1036 > **Deprecated**: This field is only propagated when attached to the 1037 > default "bridge" network. Use the information from the "bridge" 1038 > network inside the `Networks` map instead, which contains the same 1039 > information. This field was deprecated in Docker 1.9 and is scheduled 1040 > to be removed in Docker 17.12.0 1041 type: "string" 1042 example: "2001:db8:2::100" 1043 MacAddress: 1044 description: | 1045 MAC address for the container on the default "bridge" network. 1046 1047 <p><br /></p> 1048 1049 > **Deprecated**: This field is only propagated when attached to the 1050 > default "bridge" network. Use the information from the "bridge" 1051 > network inside the `Networks` map instead, which contains the same 1052 > information. This field was deprecated in Docker 1.9 and is scheduled 1053 > to be removed in Docker 17.12.0 1054 type: "string" 1055 example: "02:42:ac:11:00:04" 1056 Networks: 1057 description: | 1058 Information about all networks that the container is connected to. 1059 type: "object" 1060 additionalProperties: 1061 $ref: "#/definitions/EndpointSettings" 1062 1063 Address: 1064 description: Address represents an IPv4 or IPv6 IP address. 1065 type: "object" 1066 properties: 1067 Addr: 1068 description: IP address. 1069 type: "string" 1070 PrefixLen: 1071 description: Mask length of the IP address. 1072 type: "integer" 1073 1074 PortMap: 1075 description: | 1076 PortMap describes the mapping of container ports to host ports, using the 1077 container's port-number and protocol as key in the format `<port>/<protocol>`, 1078 for example, `80/udp`. 1079 1080 If a container's port is mapped for multiple protocols, separate entries 1081 are added to the mapping table. 1082 type: "object" 1083 additionalProperties: 1084 type: "array" 1085 items: 1086 $ref: "#/definitions/PortBinding" 1087 example: 1088 "443/tcp": 1089 - HostIp: "127.0.0.1" 1090 HostPort: "4443" 1091 "80/tcp": 1092 - HostIp: "0.0.0.0" 1093 HostPort: "80" 1094 - HostIp: "0.0.0.0" 1095 HostPort: "8080" 1096 "80/udp": 1097 - HostIp: "0.0.0.0" 1098 HostPort: "80" 1099 "53/udp": 1100 - HostIp: "0.0.0.0" 1101 HostPort: "53" 1102 "2377/tcp": null 1103 1104 PortBinding: 1105 description: | 1106 PortBinding represents a binding between a host IP address and a host 1107 port. 1108 type: "object" 1109 x-nullable: true 1110 properties: 1111 HostIp: 1112 description: "Host IP address that the container's port is mapped to." 1113 type: "string" 1114 example: "127.0.0.1" 1115 HostPort: 1116 description: "Host port number that the container's port is mapped to." 1117 type: "string" 1118 example: "4443" 1119 1120 GraphDriverData: 1121 description: "Information about a container's graph driver." 1122 type: "object" 1123 required: [Name, Data] 1124 properties: 1125 Name: 1126 type: "string" 1127 x-nullable: false 1128 Data: 1129 type: "object" 1130 x-nullable: false 1131 additionalProperties: 1132 type: "string" 1133 1134 Image: 1135 type: "object" 1136 required: 1137 - Id 1138 - Parent 1139 - Comment 1140 - Created 1141 - Container 1142 - DockerVersion 1143 - Author 1144 - Architecture 1145 - Os 1146 - Size 1147 - VirtualSize 1148 - GraphDriver 1149 - RootFS 1150 properties: 1151 Id: 1152 type: "string" 1153 x-nullable: false 1154 RepoTags: 1155 type: "array" 1156 items: 1157 type: "string" 1158 RepoDigests: 1159 type: "array" 1160 items: 1161 type: "string" 1162 Parent: 1163 type: "string" 1164 x-nullable: false 1165 Comment: 1166 type: "string" 1167 x-nullable: false 1168 Created: 1169 type: "string" 1170 x-nullable: false 1171 Container: 1172 type: "string" 1173 x-nullable: false 1174 ContainerConfig: 1175 $ref: "#/definitions/ContainerConfig" 1176 DockerVersion: 1177 type: "string" 1178 x-nullable: false 1179 Author: 1180 type: "string" 1181 x-nullable: false 1182 Config: 1183 $ref: "#/definitions/ContainerConfig" 1184 Architecture: 1185 type: "string" 1186 x-nullable: false 1187 Os: 1188 type: "string" 1189 x-nullable: false 1190 OsVersion: 1191 type: "string" 1192 Size: 1193 type: "integer" 1194 format: "int64" 1195 x-nullable: false 1196 VirtualSize: 1197 type: "integer" 1198 format: "int64" 1199 x-nullable: false 1200 GraphDriver: 1201 $ref: "#/definitions/GraphDriverData" 1202 RootFS: 1203 type: "object" 1204 required: [Type] 1205 properties: 1206 Type: 1207 type: "string" 1208 x-nullable: false 1209 Layers: 1210 type: "array" 1211 items: 1212 type: "string" 1213 BaseLayer: 1214 type: "string" 1215 Metadata: 1216 type: "object" 1217 properties: 1218 LastTagTime: 1219 type: "string" 1220 format: "dateTime" 1221 1222 ImageSummary: 1223 type: "object" 1224 required: 1225 - Id 1226 - ParentId 1227 - RepoTags 1228 - RepoDigests 1229 - Created 1230 - Size 1231 - SharedSize 1232 - VirtualSize 1233 - Labels 1234 - Containers 1235 properties: 1236 Id: 1237 type: "string" 1238 x-nullable: false 1239 ParentId: 1240 type: "string" 1241 x-nullable: false 1242 RepoTags: 1243 type: "array" 1244 x-nullable: false 1245 items: 1246 type: "string" 1247 RepoDigests: 1248 type: "array" 1249 x-nullable: false 1250 items: 1251 type: "string" 1252 Created: 1253 type: "integer" 1254 x-nullable: false 1255 Size: 1256 type: "integer" 1257 x-nullable: false 1258 SharedSize: 1259 type: "integer" 1260 x-nullable: false 1261 VirtualSize: 1262 type: "integer" 1263 x-nullable: false 1264 Labels: 1265 type: "object" 1266 x-nullable: false 1267 additionalProperties: 1268 type: "string" 1269 Containers: 1270 x-nullable: false 1271 type: "integer" 1272 1273 AuthConfig: 1274 type: "object" 1275 properties: 1276 username: 1277 type: "string" 1278 password: 1279 type: "string" 1280 email: 1281 type: "string" 1282 serveraddress: 1283 type: "string" 1284 example: 1285 username: "hannibal" 1286 password: "xxxx" 1287 serveraddress: "https://index.docker.io/v1/" 1288 1289 ProcessConfig: 1290 type: "object" 1291 properties: 1292 privileged: 1293 type: "boolean" 1294 user: 1295 type: "string" 1296 tty: 1297 type: "boolean" 1298 entrypoint: 1299 type: "string" 1300 arguments: 1301 type: "array" 1302 items: 1303 type: "string" 1304 1305 Volume: 1306 type: "object" 1307 required: [Name, Driver, Mountpoint, Labels, Scope, Options] 1308 properties: 1309 Name: 1310 type: "string" 1311 description: "Name of the volume." 1312 x-nullable: false 1313 Driver: 1314 type: "string" 1315 description: "Name of the volume driver used by the volume." 1316 x-nullable: false 1317 Mountpoint: 1318 type: "string" 1319 description: "Mount path of the volume on the host." 1320 x-nullable: false 1321 CreatedAt: 1322 type: "string" 1323 format: "dateTime" 1324 description: "Date/Time the volume was created." 1325 Status: 1326 type: "object" 1327 description: | 1328 Low-level details about the volume, provided by the volume driver. 1329 Details are returned as a map with key/value pairs: 1330 `{"key":"value","key2":"value2"}`. 1331 1332 The `Status` field is optional, and is omitted if the volume driver 1333 does not support this feature. 1334 additionalProperties: 1335 type: "object" 1336 Labels: 1337 type: "object" 1338 description: "User-defined key/value metadata." 1339 x-nullable: false 1340 additionalProperties: 1341 type: "string" 1342 Scope: 1343 type: "string" 1344 description: "The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level." 1345 default: "local" 1346 x-nullable: false 1347 enum: ["local", "global"] 1348 Options: 1349 type: "object" 1350 description: "The driver specific options used when creating the volume." 1351 additionalProperties: 1352 type: "string" 1353 UsageData: 1354 type: "object" 1355 x-nullable: true 1356 required: [Size, RefCount] 1357 description: | 1358 Usage details about the volume. This information is used by the 1359 `GET /system/df` endpoint, and omitted in other endpoints. 1360 properties: 1361 Size: 1362 type: "integer" 1363 default: -1 1364 description: | 1365 Amount of disk space used by the volume (in bytes). This information 1366 is only available for volumes created with the `"local"` volume 1367 driver. For volumes created with other volume drivers, this field 1368 is set to `-1` ("not available") 1369 x-nullable: false 1370 RefCount: 1371 type: "integer" 1372 default: -1 1373 description: | 1374 The number of containers referencing this volume. This field 1375 is set to `-1` if the reference-count is not available. 1376 x-nullable: false 1377 1378 example: 1379 Name: "tardis" 1380 Driver: "custom" 1381 Mountpoint: "/var/lib/docker/volumes/tardis" 1382 Status: 1383 hello: "world" 1384 Labels: 1385 com.example.some-label: "some-value" 1386 com.example.some-other-label: "some-other-value" 1387 Scope: "local" 1388 CreatedAt: "2016-06-07T20:31:11.853781916Z" 1389 1390 Network: 1391 type: "object" 1392 properties: 1393 Name: 1394 type: "string" 1395 Id: 1396 type: "string" 1397 Created: 1398 type: "string" 1399 format: "dateTime" 1400 Scope: 1401 type: "string" 1402 Driver: 1403 type: "string" 1404 EnableIPv6: 1405 type: "boolean" 1406 IPAM: 1407 $ref: "#/definitions/IPAM" 1408 Internal: 1409 type: "boolean" 1410 Attachable: 1411 type: "boolean" 1412 Ingress: 1413 type: "boolean" 1414 Containers: 1415 type: "object" 1416 additionalProperties: 1417 $ref: "#/definitions/NetworkContainer" 1418 Options: 1419 type: "object" 1420 additionalProperties: 1421 type: "string" 1422 Labels: 1423 type: "object" 1424 additionalProperties: 1425 type: "string" 1426 example: 1427 Name: "net01" 1428 Id: "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99" 1429 Created: "2016-10-19T04:33:30.360899459Z" 1430 Scope: "local" 1431 Driver: "bridge" 1432 EnableIPv6: false 1433 IPAM: 1434 Driver: "default" 1435 Config: 1436 - Subnet: "172.19.0.0/16" 1437 Gateway: "172.19.0.1" 1438 Options: 1439 foo: "bar" 1440 Internal: false 1441 Attachable: false 1442 Ingress: false 1443 Containers: 1444 19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c: 1445 Name: "test" 1446 EndpointID: "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a" 1447 MacAddress: "02:42:ac:13:00:02" 1448 IPv4Address: "172.19.0.2/16" 1449 IPv6Address: "" 1450 Options: 1451 com.docker.network.bridge.default_bridge: "true" 1452 com.docker.network.bridge.enable_icc: "true" 1453 com.docker.network.bridge.enable_ip_masquerade: "true" 1454 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 1455 com.docker.network.bridge.name: "docker0" 1456 com.docker.network.driver.mtu: "1500" 1457 Labels: 1458 com.example.some-label: "some-value" 1459 com.example.some-other-label: "some-other-value" 1460 IPAM: 1461 type: "object" 1462 properties: 1463 Driver: 1464 description: "Name of the IPAM driver to use." 1465 type: "string" 1466 default: "default" 1467 Config: 1468 description: "List of IPAM configuration options, specified as a map: `{\"Subnet\": <CIDR>, \"IPRange\": <CIDR>, \"Gateway\": <IP address>, \"AuxAddress\": <device_name:IP address>}`" 1469 type: "array" 1470 items: 1471 type: "object" 1472 additionalProperties: 1473 type: "string" 1474 Options: 1475 description: "Driver-specific options, specified as a map." 1476 type: "array" 1477 items: 1478 type: "object" 1479 additionalProperties: 1480 type: "string" 1481 1482 NetworkContainer: 1483 type: "object" 1484 properties: 1485 Name: 1486 type: "string" 1487 EndpointID: 1488 type: "string" 1489 MacAddress: 1490 type: "string" 1491 IPv4Address: 1492 type: "string" 1493 IPv6Address: 1494 type: "string" 1495 1496 BuildInfo: 1497 type: "object" 1498 properties: 1499 id: 1500 type: "string" 1501 stream: 1502 type: "string" 1503 error: 1504 type: "string" 1505 errorDetail: 1506 $ref: "#/definitions/ErrorDetail" 1507 status: 1508 type: "string" 1509 progress: 1510 type: "string" 1511 progressDetail: 1512 $ref: "#/definitions/ProgressDetail" 1513 aux: 1514 $ref: "#/definitions/ImageID" 1515 1516 ImageID: 1517 type: "object" 1518 description: "Image ID or Digest" 1519 properties: 1520 ID: 1521 type: "string" 1522 example: 1523 ID: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" 1524 1525 CreateImageInfo: 1526 type: "object" 1527 properties: 1528 id: 1529 type: "string" 1530 error: 1531 type: "string" 1532 status: 1533 type: "string" 1534 progress: 1535 type: "string" 1536 progressDetail: 1537 $ref: "#/definitions/ProgressDetail" 1538 1539 PushImageInfo: 1540 type: "object" 1541 properties: 1542 error: 1543 type: "string" 1544 status: 1545 type: "string" 1546 progress: 1547 type: "string" 1548 progressDetail: 1549 $ref: "#/definitions/ProgressDetail" 1550 1551 ErrorDetail: 1552 type: "object" 1553 properties: 1554 code: 1555 type: "integer" 1556 message: 1557 type: "string" 1558 1559 ProgressDetail: 1560 type: "object" 1561 properties: 1562 current: 1563 type: "integer" 1564 total: 1565 type: "integer" 1566 1567 ErrorResponse: 1568 description: "Represents an error." 1569 type: "object" 1570 required: ["message"] 1571 properties: 1572 message: 1573 description: "The error message." 1574 type: "string" 1575 x-nullable: false 1576 example: 1577 message: "Something went wrong." 1578 1579 IdResponse: 1580 description: "Response to an API call that returns just an Id" 1581 type: "object" 1582 required: ["Id"] 1583 properties: 1584 Id: 1585 description: "The id of the newly created object." 1586 type: "string" 1587 x-nullable: false 1588 1589 EndpointSettings: 1590 description: "Configuration for a network endpoint." 1591 type: "object" 1592 properties: 1593 # Configurations 1594 IPAMConfig: 1595 $ref: "#/definitions/EndpointIPAMConfig" 1596 Links: 1597 type: "array" 1598 items: 1599 type: "string" 1600 example: 1601 - "container_1" 1602 - "container_2" 1603 Aliases: 1604 type: "array" 1605 items: 1606 type: "string" 1607 example: 1608 - "server_x" 1609 - "server_y" 1610 1611 # Operational data 1612 NetworkID: 1613 description: | 1614 Unique ID of the network. 1615 type: "string" 1616 example: "08754567f1f40222263eab4102e1c733ae697e8e354aa9cd6e18d7402835292a" 1617 EndpointID: 1618 description: | 1619 Unique ID for the service endpoint in a Sandbox. 1620 type: "string" 1621 example: "b88f5b905aabf2893f3cbc4ee42d1ea7980bbc0a92e2c8922b1e1795298afb0b" 1622 Gateway: 1623 description: | 1624 Gateway address for this network. 1625 type: "string" 1626 example: "172.17.0.1" 1627 IPAddress: 1628 description: | 1629 IPv4 address. 1630 type: "string" 1631 example: "172.17.0.4" 1632 IPPrefixLen: 1633 description: | 1634 Mask length of the IPv4 address. 1635 type: "integer" 1636 example: 16 1637 IPv6Gateway: 1638 description: | 1639 IPv6 gateway address. 1640 type: "string" 1641 example: "2001:db8:2::100" 1642 GlobalIPv6Address: 1643 description: | 1644 Global IPv6 address. 1645 type: "string" 1646 example: "2001:db8::5689" 1647 GlobalIPv6PrefixLen: 1648 description: | 1649 Mask length of the global IPv6 address. 1650 type: "integer" 1651 format: "int64" 1652 example: 64 1653 MacAddress: 1654 description: | 1655 MAC address for the endpoint on this network. 1656 type: "string" 1657 example: "02:42:ac:11:00:04" 1658 DriverOpts: 1659 description: | 1660 DriverOpts is a mapping of driver options and values. These options 1661 are passed directly to the driver and are driver specific. 1662 type: "object" 1663 x-nullable: true 1664 additionalProperties: 1665 type: "string" 1666 example: 1667 com.example.some-label: "some-value" 1668 com.example.some-other-label: "some-other-value" 1669 1670 EndpointIPAMConfig: 1671 description: | 1672 EndpointIPAMConfig represents an endpoint's IPAM configuration. 1673 type: "object" 1674 x-nullable: true 1675 properties: 1676 IPv4Address: 1677 type: "string" 1678 example: "172.20.30.33" 1679 IPv6Address: 1680 type: "string" 1681 example: "2001:db8:abcd::3033" 1682 LinkLocalIPs: 1683 type: "array" 1684 items: 1685 type: "string" 1686 example: 1687 - "169.254.34.68" 1688 - "fe80::3468" 1689 1690 PluginMount: 1691 type: "object" 1692 x-nullable: false 1693 required: [Name, Description, Settable, Source, Destination, Type, Options] 1694 properties: 1695 Name: 1696 type: "string" 1697 x-nullable: false 1698 example: "some-mount" 1699 Description: 1700 type: "string" 1701 x-nullable: false 1702 example: "This is a mount that's used by the plugin." 1703 Settable: 1704 type: "array" 1705 items: 1706 type: "string" 1707 Source: 1708 type: "string" 1709 example: "/var/lib/docker/plugins/" 1710 Destination: 1711 type: "string" 1712 x-nullable: false 1713 example: "/mnt/state" 1714 Type: 1715 type: "string" 1716 x-nullable: false 1717 example: "bind" 1718 Options: 1719 type: "array" 1720 items: 1721 type: "string" 1722 example: 1723 - "rbind" 1724 - "rw" 1725 1726 PluginDevice: 1727 type: "object" 1728 required: [Name, Description, Settable, Path] 1729 x-nullable: false 1730 properties: 1731 Name: 1732 type: "string" 1733 x-nullable: false 1734 Description: 1735 type: "string" 1736 x-nullable: false 1737 Settable: 1738 type: "array" 1739 items: 1740 type: "string" 1741 Path: 1742 type: "string" 1743 example: "/dev/fuse" 1744 1745 PluginEnv: 1746 type: "object" 1747 x-nullable: false 1748 required: [Name, Description, Settable, Value] 1749 properties: 1750 Name: 1751 x-nullable: false 1752 type: "string" 1753 Description: 1754 x-nullable: false 1755 type: "string" 1756 Settable: 1757 type: "array" 1758 items: 1759 type: "string" 1760 Value: 1761 type: "string" 1762 1763 PluginInterfaceType: 1764 type: "object" 1765 x-nullable: false 1766 required: [Prefix, Capability, Version] 1767 properties: 1768 Prefix: 1769 type: "string" 1770 x-nullable: false 1771 Capability: 1772 type: "string" 1773 x-nullable: false 1774 Version: 1775 type: "string" 1776 x-nullable: false 1777 1778 Plugin: 1779 description: "A plugin for the Engine API" 1780 type: "object" 1781 required: [Settings, Enabled, Config, Name] 1782 properties: 1783 Id: 1784 type: "string" 1785 example: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" 1786 Name: 1787 type: "string" 1788 x-nullable: false 1789 example: "tiborvass/sample-volume-plugin" 1790 Enabled: 1791 description: "True if the plugin is running. False if the plugin is not running, only installed." 1792 type: "boolean" 1793 x-nullable: false 1794 example: true 1795 Settings: 1796 description: "Settings that can be modified by users." 1797 type: "object" 1798 x-nullable: false 1799 required: [Args, Devices, Env, Mounts] 1800 properties: 1801 Mounts: 1802 type: "array" 1803 items: 1804 $ref: "#/definitions/PluginMount" 1805 Env: 1806 type: "array" 1807 items: 1808 type: "string" 1809 example: 1810 - "DEBUG=0" 1811 Args: 1812 type: "array" 1813 items: 1814 type: "string" 1815 Devices: 1816 type: "array" 1817 items: 1818 $ref: "#/definitions/PluginDevice" 1819 PluginReference: 1820 description: "plugin remote reference used to push/pull the plugin" 1821 type: "string" 1822 x-nullable: false 1823 example: "localhost:5000/tiborvass/sample-volume-plugin:latest" 1824 Config: 1825 description: "The config of a plugin." 1826 type: "object" 1827 x-nullable: false 1828 required: 1829 - Description 1830 - Documentation 1831 - Interface 1832 - Entrypoint 1833 - WorkDir 1834 - Network 1835 - Linux 1836 - PidHost 1837 - PropagatedMount 1838 - IpcHost 1839 - Mounts 1840 - Env 1841 - Args 1842 properties: 1843 DockerVersion: 1844 description: "Docker Version used to create the plugin" 1845 type: "string" 1846 x-nullable: false 1847 example: "17.06.0-ce" 1848 Description: 1849 type: "string" 1850 x-nullable: false 1851 example: "A sample volume plugin for Docker" 1852 Documentation: 1853 type: "string" 1854 x-nullable: false 1855 example: "https://docs.docker.com/engine/extend/plugins/" 1856 Interface: 1857 description: "The interface between Docker and the plugin" 1858 x-nullable: false 1859 type: "object" 1860 required: [Types, Socket] 1861 properties: 1862 Types: 1863 type: "array" 1864 items: 1865 $ref: "#/definitions/PluginInterfaceType" 1866 example: 1867 - "docker.volumedriver/1.0" 1868 Socket: 1869 type: "string" 1870 x-nullable: false 1871 example: "plugins.sock" 1872 ProtocolScheme: 1873 type: "string" 1874 example: "some.protocol/v1.0" 1875 description: "Protocol to use for clients connecting to the plugin." 1876 enum: 1877 - "" 1878 - "moby.plugins.http/v1" 1879 Entrypoint: 1880 type: "array" 1881 items: 1882 type: "string" 1883 example: 1884 - "/usr/bin/sample-volume-plugin" 1885 - "/data" 1886 WorkDir: 1887 type: "string" 1888 x-nullable: false 1889 example: "/bin/" 1890 User: 1891 type: "object" 1892 x-nullable: false 1893 properties: 1894 UID: 1895 type: "integer" 1896 format: "uint32" 1897 example: 1000 1898 GID: 1899 type: "integer" 1900 format: "uint32" 1901 example: 1000 1902 Network: 1903 type: "object" 1904 x-nullable: false 1905 required: [Type] 1906 properties: 1907 Type: 1908 x-nullable: false 1909 type: "string" 1910 example: "host" 1911 Linux: 1912 type: "object" 1913 x-nullable: false 1914 required: [Capabilities, AllowAllDevices, Devices] 1915 properties: 1916 Capabilities: 1917 type: "array" 1918 items: 1919 type: "string" 1920 example: 1921 - "CAP_SYS_ADMIN" 1922 - "CAP_SYSLOG" 1923 AllowAllDevices: 1924 type: "boolean" 1925 x-nullable: false 1926 example: false 1927 Devices: 1928 type: "array" 1929 items: 1930 $ref: "#/definitions/PluginDevice" 1931 PropagatedMount: 1932 type: "string" 1933 x-nullable: false 1934 example: "/mnt/volumes" 1935 IpcHost: 1936 type: "boolean" 1937 x-nullable: false 1938 example: false 1939 PidHost: 1940 type: "boolean" 1941 x-nullable: false 1942 example: false 1943 Mounts: 1944 type: "array" 1945 items: 1946 $ref: "#/definitions/PluginMount" 1947 Env: 1948 type: "array" 1949 items: 1950 $ref: "#/definitions/PluginEnv" 1951 example: 1952 - Name: "DEBUG" 1953 Description: "If set, prints debug messages" 1954 Settable: null 1955 Value: "0" 1956 Args: 1957 type: "object" 1958 x-nullable: false 1959 required: [Name, Description, Settable, Value] 1960 properties: 1961 Name: 1962 x-nullable: false 1963 type: "string" 1964 example: "args" 1965 Description: 1966 x-nullable: false 1967 type: "string" 1968 example: "command line arguments" 1969 Settable: 1970 type: "array" 1971 items: 1972 type: "string" 1973 Value: 1974 type: "array" 1975 items: 1976 type: "string" 1977 rootfs: 1978 type: "object" 1979 properties: 1980 type: 1981 type: "string" 1982 example: "layers" 1983 diff_ids: 1984 type: "array" 1985 items: 1986 type: "string" 1987 example: 1988 - "sha256:675532206fbf3030b8458f88d6e26d4eb1577688a25efec97154c94e8b6b4887" 1989 - "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" 1990 1991 ObjectVersion: 1992 description: | 1993 The version number of the object such as node, service, etc. This is needed to avoid conflicting writes. 1994 The client must send the version number along with the modified specification when updating these objects. 1995 This approach ensures safe concurrency and determinism in that the change on the object 1996 may not be applied if the version number has changed from the last read. In other words, 1997 if two update requests specify the same base version, only one of the requests can succeed. 1998 As a result, two separate update requests that happen at the same time will not 1999 unintentionally overwrite each other. 2000 type: "object" 2001 properties: 2002 Index: 2003 type: "integer" 2004 format: "uint64" 2005 example: 373531 2006 2007 NodeSpec: 2008 type: "object" 2009 properties: 2010 Name: 2011 description: "Name for the node." 2012 type: "string" 2013 example: "my-node" 2014 Labels: 2015 description: "User-defined key/value metadata." 2016 type: "object" 2017 additionalProperties: 2018 type: "string" 2019 Role: 2020 description: "Role of the node." 2021 type: "string" 2022 enum: 2023 - "worker" 2024 - "manager" 2025 example: "manager" 2026 Availability: 2027 description: "Availability of the node." 2028 type: "string" 2029 enum: 2030 - "active" 2031 - "pause" 2032 - "drain" 2033 example: "active" 2034 example: 2035 Availability: "active" 2036 Name: "node-name" 2037 Role: "manager" 2038 Labels: 2039 foo: "bar" 2040 2041 Node: 2042 type: "object" 2043 properties: 2044 ID: 2045 type: "string" 2046 example: "24ifsmvkjbyhk" 2047 Version: 2048 $ref: "#/definitions/ObjectVersion" 2049 CreatedAt: 2050 description: | 2051 Date and time at which the node was added to the swarm in 2052 [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. 2053 type: "string" 2054 format: "dateTime" 2055 example: "2016-08-18T10:44:24.496525531Z" 2056 UpdatedAt: 2057 description: | 2058 Date and time at which the node was last updated in 2059 [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. 2060 type: "string" 2061 format: "dateTime" 2062 example: "2017-08-09T07:09:37.632105588Z" 2063 Spec: 2064 $ref: "#/definitions/NodeSpec" 2065 Description: 2066 $ref: "#/definitions/NodeDescription" 2067 Status: 2068 $ref: "#/definitions/NodeStatus" 2069 ManagerStatus: 2070 $ref: "#/definitions/ManagerStatus" 2071 2072 NodeDescription: 2073 description: | 2074 NodeDescription encapsulates the properties of the Node as reported by the 2075 agent. 2076 type: "object" 2077 properties: 2078 Hostname: 2079 type: "string" 2080 example: "bf3067039e47" 2081 Platform: 2082 $ref: "#/definitions/Platform" 2083 Resources: 2084 $ref: "#/definitions/ResourceObject" 2085 Engine: 2086 $ref: "#/definitions/EngineDescription" 2087 TLSInfo: 2088 $ref: "#/definitions/TLSInfo" 2089 2090 Platform: 2091 description: | 2092 Platform represents the platform (Arch/OS). 2093 type: "object" 2094 properties: 2095 Architecture: 2096 description: | 2097 Architecture represents the hardware architecture (for example, 2098 `x86_64`). 2099 type: "string" 2100 example: "x86_64" 2101 OS: 2102 description: | 2103 OS represents the Operating System (for example, `linux` or `windows`). 2104 type: "string" 2105 example: "linux" 2106 2107 EngineDescription: 2108 description: "EngineDescription provides information about an engine." 2109 type: "object" 2110 properties: 2111 EngineVersion: 2112 type: "string" 2113 example: "17.06.0" 2114 Labels: 2115 type: "object" 2116 additionalProperties: 2117 type: "string" 2118 example: 2119 foo: "bar" 2120 Plugins: 2121 type: "array" 2122 items: 2123 type: "object" 2124 properties: 2125 Type: 2126 type: "string" 2127 Name: 2128 type: "string" 2129 example: 2130 - Type: "Log" 2131 Name: "awslogs" 2132 - Type: "Log" 2133 Name: "fluentd" 2134 - Type: "Log" 2135 Name: "gcplogs" 2136 - Type: "Log" 2137 Name: "gelf" 2138 - Type: "Log" 2139 Name: "journald" 2140 - Type: "Log" 2141 Name: "json-file" 2142 - Type: "Log" 2143 Name: "logentries" 2144 - Type: "Log" 2145 Name: "splunk" 2146 - Type: "Log" 2147 Name: "syslog" 2148 - Type: "Network" 2149 Name: "bridge" 2150 - Type: "Network" 2151 Name: "host" 2152 - Type: "Network" 2153 Name: "ipvlan" 2154 - Type: "Network" 2155 Name: "macvlan" 2156 - Type: "Network" 2157 Name: "null" 2158 - Type: "Network" 2159 Name: "overlay" 2160 - Type: "Volume" 2161 Name: "local" 2162 - Type: "Volume" 2163 Name: "localhost:5000/vieux/sshfs:latest" 2164 - Type: "Volume" 2165 Name: "vieux/sshfs:latest" 2166 2167 TLSInfo: 2168 description: "Information about the issuer of leaf TLS certificates and the trusted root CA certificate" 2169 type: "object" 2170 properties: 2171 TrustRoot: 2172 description: "The root CA certificate(s) that are used to validate leaf TLS certificates" 2173 type: "string" 2174 CertIssuerSubject: 2175 description: "The base64-url-safe-encoded raw subject bytes of the issuer" 2176 type: "string" 2177 CertIssuerPublicKey: 2178 description: "The base64-url-safe-encoded raw public key bytes of the issuer" 2179 type: "string" 2180 example: 2181 TrustRoot: | 2182 -----BEGIN CERTIFICATE----- 2183 MIIBajCCARCgAwIBAgIUbYqrLSOSQHoxD8CwG6Bi2PJi9c8wCgYIKoZIzj0EAwIw 2184 EzERMA8GA1UEAxMIc3dhcm0tY2EwHhcNMTcwNDI0MjE0MzAwWhcNMzcwNDE5MjE0 2185 MzAwWjATMREwDwYDVQQDEwhzd2FybS1jYTBZMBMGByqGSM49AgEGCCqGSM49AwEH 2186 A0IABJk/VyMPYdaqDXJb/VXh5n/1Yuv7iNrxV3Qb3l06XD46seovcDWs3IZNV1lf 2187 3Skyr0ofcchipoiHkXBODojJydSjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB 2188 Af8EBTADAQH/MB0GA1UdDgQWBBRUXxuRcnFjDfR/RIAUQab8ZV/n4jAKBggqhkjO 2189 PQQDAgNIADBFAiAy+JTe6Uc3KyLCMiqGl2GyWGQqQDEcO3/YG36x7om65AIhAJvz 2190 pxv6zFeVEkAEEkqIYi0omA9+CjanB/6Bz4n1uw8H 2191 -----END CERTIFICATE----- 2192 CertIssuerSubject: "MBMxETAPBgNVBAMTCHN3YXJtLWNh" 2193 CertIssuerPublicKey: "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmT9XIw9h1qoNclv9VeHmf/Vi6/uI2vFXdBveXTpcPjqx6i9wNazchk1XWV/dKTKvSh9xyGKmiIeRcE4OiMnJ1A==" 2194 2195 NodeStatus: 2196 description: | 2197 NodeStatus represents the status of a node. 2198 2199 It provides the current status of the node, as seen by the manager. 2200 type: "object" 2201 properties: 2202 State: 2203 $ref: "#/definitions/NodeState" 2204 Message: 2205 type: "string" 2206 example: "" 2207 Addr: 2208 description: "IP address of the node." 2209 type: "string" 2210 example: "172.17.0.2" 2211 2212 NodeState: 2213 description: "NodeState represents the state of a node." 2214 type: "string" 2215 enum: 2216 - "unknown" 2217 - "down" 2218 - "ready" 2219 - "disconnected" 2220 example: "ready" 2221 2222 ManagerStatus: 2223 description: | 2224 ManagerStatus represents the status of a manager. 2225 2226 It provides the current status of a node's manager component, if the node 2227 is a manager. 2228 x-nullable: true 2229 type: "object" 2230 properties: 2231 Leader: 2232 type: "boolean" 2233 default: false 2234 example: true 2235 Reachability: 2236 $ref: "#/definitions/Reachability" 2237 Addr: 2238 description: | 2239 The IP address and port at which the manager is reachable. 2240 type: "string" 2241 example: "10.0.0.46:2377" 2242 2243 Reachability: 2244 description: "Reachability represents the reachability of a node." 2245 type: "string" 2246 enum: 2247 - "unknown" 2248 - "unreachable" 2249 - "reachable" 2250 example: "reachable" 2251 2252 SwarmSpec: 2253 description: "User modifiable swarm configuration." 2254 type: "object" 2255 properties: 2256 Name: 2257 description: "Name of the swarm." 2258 type: "string" 2259 example: "default" 2260 Labels: 2261 description: "User-defined key/value metadata." 2262 type: "object" 2263 additionalProperties: 2264 type: "string" 2265 example: 2266 com.example.corp.type: "production" 2267 com.example.corp.department: "engineering" 2268 Orchestration: 2269 description: "Orchestration configuration." 2270 type: "object" 2271 x-nullable: true 2272 properties: 2273 TaskHistoryRetentionLimit: 2274 description: "The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks." 2275 type: "integer" 2276 format: "int64" 2277 example: 10 2278 Raft: 2279 description: "Raft configuration." 2280 type: "object" 2281 properties: 2282 SnapshotInterval: 2283 description: "The number of log entries between snapshots." 2284 type: "integer" 2285 format: "uint64" 2286 example: 10000 2287 KeepOldSnapshots: 2288 description: "The number of snapshots to keep beyond the current snapshot." 2289 type: "integer" 2290 format: "uint64" 2291 LogEntriesForSlowFollowers: 2292 description: "The number of log entries to keep around to sync up slow followers after a snapshot is created." 2293 type: "integer" 2294 format: "uint64" 2295 example: 500 2296 ElectionTick: 2297 description: | 2298 The number of ticks that a follower will wait for a message from the leader before becoming a candidate and starting an election. `ElectionTick` must be greater than `HeartbeatTick`. 2299 2300 A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed. 2301 type: "integer" 2302 example: 3 2303 HeartbeatTick: 2304 description: | 2305 The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers. 2306 2307 A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed. 2308 type: "integer" 2309 example: 1 2310 Dispatcher: 2311 description: "Dispatcher configuration." 2312 type: "object" 2313 x-nullable: true 2314 properties: 2315 HeartbeatPeriod: 2316 description: "The delay for an agent to send a heartbeat to the dispatcher." 2317 type: "integer" 2318 format: "int64" 2319 example: 5000000000 2320 CAConfig: 2321 description: "CA configuration." 2322 type: "object" 2323 x-nullable: true 2324 properties: 2325 NodeCertExpiry: 2326 description: "The duration node certificates are issued for." 2327 type: "integer" 2328 format: "int64" 2329 example: 7776000000000000 2330 ExternalCAs: 2331 description: "Configuration for forwarding signing requests to an external certificate authority." 2332 type: "array" 2333 items: 2334 type: "object" 2335 properties: 2336 Protocol: 2337 description: "Protocol for communication with the external CA (currently only `cfssl` is supported)." 2338 type: "string" 2339 enum: 2340 - "cfssl" 2341 default: "cfssl" 2342 URL: 2343 description: "URL where certificate signing requests should be sent." 2344 type: "string" 2345 Options: 2346 description: "An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver." 2347 type: "object" 2348 additionalProperties: 2349 type: "string" 2350 CACert: 2351 description: "The root CA certificate (in PEM format) this external CA uses to issue TLS certificates (assumed to be to the current swarm root CA certificate if not provided)." 2352 type: "string" 2353 SigningCACert: 2354 description: "The desired signing CA certificate for all swarm node TLS leaf certificates, in PEM format." 2355 type: "string" 2356 SigningCAKey: 2357 description: "The desired signing CA key for all swarm node TLS leaf certificates, in PEM format." 2358 type: "string" 2359 ForceRotate: 2360 description: "An integer whose purpose is to force swarm to generate a new signing CA certificate and key, if none have been specified in `SigningCACert` and `SigningCAKey`" 2361 format: "uint64" 2362 type: "integer" 2363 EncryptionConfig: 2364 description: "Parameters related to encryption-at-rest." 2365 type: "object" 2366 properties: 2367 AutoLockManagers: 2368 description: "If set, generate a key and use it to lock data stored on the managers." 2369 type: "boolean" 2370 example: false 2371 TaskDefaults: 2372 description: "Defaults for creating tasks in this cluster." 2373 type: "object" 2374 properties: 2375 LogDriver: 2376 description: | 2377 The log driver to use for tasks created in the orchestrator if 2378 unspecified by a service. 2379 2380 Updating this value only affects new tasks. Existing tasks continue 2381 to use their previously configured log driver until recreated. 2382 type: "object" 2383 properties: 2384 Name: 2385 description: | 2386 The log driver to use as a default for new tasks. 2387 type: "string" 2388 example: "json-file" 2389 Options: 2390 description: | 2391 Driver-specific options for the selectd log driver, specified 2392 as key/value pairs. 2393 type: "object" 2394 additionalProperties: 2395 type: "string" 2396 example: 2397 "max-file": "10" 2398 "max-size": "100m" 2399 2400 # The Swarm information for `GET /info`. It is the same as `GET /swarm`, but 2401 # without `JoinTokens`. 2402 ClusterInfo: 2403 description: | 2404 ClusterInfo represents information about the swarm as is returned by the 2405 "/info" endpoint. Join-tokens are not included. 2406 x-nullable: true 2407 type: "object" 2408 properties: 2409 ID: 2410 description: "The ID of the swarm." 2411 type: "string" 2412 example: "abajmipo7b4xz5ip2nrla6b11" 2413 Version: 2414 $ref: "#/definitions/ObjectVersion" 2415 CreatedAt: 2416 description: | 2417 Date and time at which the swarm was initialised in 2418 [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. 2419 type: "string" 2420 format: "dateTime" 2421 example: "2016-08-18T10:44:24.496525531Z" 2422 UpdatedAt: 2423 description: | 2424 Date and time at which the swarm was last updated in 2425 [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds. 2426 type: "string" 2427 format: "dateTime" 2428 example: "2017-08-09T07:09:37.632105588Z" 2429 Spec: 2430 $ref: "#/definitions/SwarmSpec" 2431 TLSInfo: 2432 $ref: "#/definitions/TLSInfo" 2433 RootRotationInProgress: 2434 description: "Whether there is currently a root CA rotation in progress for the swarm" 2435 type: "boolean" 2436 example: false 2437 2438 JoinTokens: 2439 description: | 2440 JoinTokens contains the tokens workers and managers need to join the swarm. 2441 type: "object" 2442 properties: 2443 Worker: 2444 description: | 2445 The token workers can use to join the swarm. 2446 type: "string" 2447 example: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" 2448 Manager: 2449 description: | 2450 The token managers can use to join the swarm. 2451 type: "string" 2452 example: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" 2453 2454 Swarm: 2455 type: "object" 2456 allOf: 2457 - $ref: "#/definitions/ClusterInfo" 2458 - type: "object" 2459 properties: 2460 JoinTokens: 2461 $ref: "#/definitions/JoinTokens" 2462 2463 TaskSpec: 2464 description: "User modifiable task configuration." 2465 type: "object" 2466 properties: 2467 PluginSpec: 2468 type: "object" 2469 description: | 2470 Plugin spec for the service. *(Experimental release only.)* 2471 2472 <p><br /></p> 2473 2474 > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are 2475 > mutually exclusive. PluginSpec is only used when the Runtime field 2476 > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime 2477 > field is set to `attachment`. 2478 properties: 2479 Name: 2480 description: "The name or 'alias' to use for the plugin." 2481 type: "string" 2482 Remote: 2483 description: "The plugin image reference to use." 2484 type: "string" 2485 Disabled: 2486 description: "Disable the plugin once scheduled." 2487 type: "boolean" 2488 PluginPrivilege: 2489 type: "array" 2490 items: 2491 description: "Describes a permission accepted by the user upon installing the plugin." 2492 type: "object" 2493 properties: 2494 Name: 2495 type: "string" 2496 Description: 2497 type: "string" 2498 Value: 2499 type: "array" 2500 items: 2501 type: "string" 2502 ContainerSpec: 2503 type: "object" 2504 description: | 2505 Container spec for the service. 2506 2507 <p><br /></p> 2508 2509 > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are 2510 > mutually exclusive. PluginSpec is only used when the Runtime field 2511 > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime 2512 > field is set to `attachment`. 2513 properties: 2514 Image: 2515 description: "The image name to use for the container" 2516 type: "string" 2517 Labels: 2518 description: "User-defined key/value data." 2519 type: "object" 2520 additionalProperties: 2521 type: "string" 2522 Command: 2523 description: "The command to be run in the image." 2524 type: "array" 2525 items: 2526 type: "string" 2527 Args: 2528 description: "Arguments to the command." 2529 type: "array" 2530 items: 2531 type: "string" 2532 Hostname: 2533 description: "The hostname to use for the container, as a valid RFC 1123 hostname." 2534 type: "string" 2535 Env: 2536 description: "A list of environment variables in the form `VAR=value`." 2537 type: "array" 2538 items: 2539 type: "string" 2540 Dir: 2541 description: "The working directory for commands to run in." 2542 type: "string" 2543 User: 2544 description: "The user inside the container." 2545 type: "string" 2546 Groups: 2547 type: "array" 2548 description: "A list of additional groups that the container process will run as." 2549 items: 2550 type: "string" 2551 Privileges: 2552 type: "object" 2553 description: "Security options for the container" 2554 properties: 2555 CredentialSpec: 2556 type: "object" 2557 description: "CredentialSpec for managed service account (Windows only)" 2558 properties: 2559 File: 2560 type: "string" 2561 description: | 2562 Load credential spec from this file. The file is read by the daemon, and must be present in the 2563 `CredentialSpecs` subdirectory in the docker data directory, which defaults to 2564 `C:\ProgramData\Docker\` on Windows. 2565 2566 For example, specifying `spec.json` loads `C:\ProgramData\Docker\CredentialSpecs\spec.json`. 2567 2568 <p><br /></p> 2569 2570 > **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive. 2571 Registry: 2572 type: "string" 2573 description: | 2574 Load credential spec from this value in the Windows registry. The specified registry value must be 2575 located in: 2576 2577 `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\CredentialSpecs` 2578 2579 <p><br /></p> 2580 2581 2582 > **Note**: `CredentialSpec.File` and `CredentialSpec.Registry` are mutually exclusive. 2583 SELinuxContext: 2584 type: "object" 2585 description: "SELinux labels of the container" 2586 properties: 2587 Disable: 2588 type: "boolean" 2589 description: "Disable SELinux" 2590 User: 2591 type: "string" 2592 description: "SELinux user label" 2593 Role: 2594 type: "string" 2595 description: "SELinux role label" 2596 Type: 2597 type: "string" 2598 description: "SELinux type label" 2599 Level: 2600 type: "string" 2601 description: "SELinux level label" 2602 TTY: 2603 description: "Whether a pseudo-TTY should be allocated." 2604 type: "boolean" 2605 OpenStdin: 2606 description: "Open `stdin`" 2607 type: "boolean" 2608 ReadOnly: 2609 description: "Mount the container's root filesystem as read only." 2610 type: "boolean" 2611 Mounts: 2612 description: "Specification for mounts to be added to containers created as part of the service." 2613 type: "array" 2614 items: 2615 $ref: "#/definitions/Mount" 2616 StopSignal: 2617 description: "Signal to stop the container." 2618 type: "string" 2619 StopGracePeriod: 2620 description: "Amount of time to wait for the container to terminate before forcefully killing it." 2621 type: "integer" 2622 format: "int64" 2623 HealthCheck: 2624 $ref: "#/definitions/HealthConfig" 2625 Hosts: 2626 type: "array" 2627 description: | 2628 A list of hostname/IP mappings to add to the container's `hosts` 2629 file. The format of extra hosts is specified in the 2630 [hosts(5)](http://man7.org/linux/man-pages/man5/hosts.5.html) 2631 man page: 2632 2633 IP_address canonical_hostname [aliases...] 2634 items: 2635 type: "string" 2636 DNSConfig: 2637 description: "Specification for DNS related configurations in resolver configuration file (`resolv.conf`)." 2638 type: "object" 2639 properties: 2640 Nameservers: 2641 description: "The IP addresses of the name servers." 2642 type: "array" 2643 items: 2644 type: "string" 2645 Search: 2646 description: "A search list for host-name lookup." 2647 type: "array" 2648 items: 2649 type: "string" 2650 Options: 2651 description: "A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)." 2652 type: "array" 2653 items: 2654 type: "string" 2655 Secrets: 2656 description: "Secrets contains references to zero or more secrets that will be exposed to the service." 2657 type: "array" 2658 items: 2659 type: "object" 2660 properties: 2661 File: 2662 description: "File represents a specific target that is backed by a file." 2663 type: "object" 2664 properties: 2665 Name: 2666 description: "Name represents the final filename in the filesystem." 2667 type: "string" 2668 UID: 2669 description: "UID represents the file UID." 2670 type: "string" 2671 GID: 2672 description: "GID represents the file GID." 2673 type: "string" 2674 Mode: 2675 description: "Mode represents the FileMode of the file." 2676 type: "integer" 2677 format: "uint32" 2678 SecretID: 2679 description: "SecretID represents the ID of the specific secret that we're referencing." 2680 type: "string" 2681 SecretName: 2682 description: | 2683 SecretName is the name of the secret that this references, but this is just provided for 2684 lookup/display purposes. The secret in the reference will be identified by its ID. 2685 type: "string" 2686 Configs: 2687 description: "Configs contains references to zero or more configs that will be exposed to the service." 2688 type: "array" 2689 items: 2690 type: "object" 2691 properties: 2692 File: 2693 description: "File represents a specific target that is backed by a file." 2694 type: "object" 2695 properties: 2696 Name: 2697 description: "Name represents the final filename in the filesystem." 2698 type: "string" 2699 UID: 2700 description: "UID represents the file UID." 2701 type: "string" 2702 GID: 2703 description: "GID represents the file GID." 2704 type: "string" 2705 Mode: 2706 description: "Mode represents the FileMode of the file." 2707 type: "integer" 2708 format: "uint32" 2709 ConfigID: 2710 description: "ConfigID represents the ID of the specific config that we're referencing." 2711 type: "string" 2712 ConfigName: 2713 description: | 2714 ConfigName is the name of the config that this references, but this is just provided for 2715 lookup/display purposes. The config in the reference will be identified by its ID. 2716 type: "string" 2717 Isolation: 2718 type: "string" 2719 description: "Isolation technology of the containers running the service. (Windows only)" 2720 enum: 2721 - "default" 2722 - "process" 2723 - "hyperv" 2724 Init: 2725 description: "Run an init inside the container that forwards signals and reaps processes. This field is omitted if empty, and the default (as configured on the daemon) is used." 2726 type: "boolean" 2727 x-nullable: true 2728 NetworkAttachmentSpec: 2729 description: | 2730 Read-only spec type for non-swarm containers attached to swarm overlay 2731 networks. 2732 2733 <p><br /></p> 2734 2735 > **Note**: ContainerSpec, NetworkAttachmentSpec, and PluginSpec are 2736 > mutually exclusive. PluginSpec is only used when the Runtime field 2737 > is set to `plugin`. NetworkAttachmentSpec is used when the Runtime 2738 > field is set to `attachment`. 2739 type: "object" 2740 properties: 2741 ContainerID: 2742 description: "ID of the container represented by this task" 2743 type: "string" 2744 Resources: 2745 description: "Resource requirements which apply to each individual container created as part of the service." 2746 type: "object" 2747 properties: 2748 Limits: 2749 description: "Define resources limits." 2750 $ref: "#/definitions/ResourceObject" 2751 Reservation: 2752 description: "Define resources reservation." 2753 $ref: "#/definitions/ResourceObject" 2754 RestartPolicy: 2755 description: "Specification for the restart policy which applies to containers created as part of this service." 2756 type: "object" 2757 properties: 2758 Condition: 2759 description: "Condition for restart." 2760 type: "string" 2761 enum: 2762 - "none" 2763 - "on-failure" 2764 - "any" 2765 Delay: 2766 description: "Delay between restart attempts." 2767 type: "integer" 2768 format: "int64" 2769 MaxAttempts: 2770 description: "Maximum attempts to restart a given container before giving up (default value is 0, which is ignored)." 2771 type: "integer" 2772 format: "int64" 2773 default: 0 2774 Window: 2775 description: "Windows is the time window used to evaluate the restart policy (default value is 0, which is unbounded)." 2776 type: "integer" 2777 format: "int64" 2778 default: 0 2779 Placement: 2780 type: "object" 2781 properties: 2782 Constraints: 2783 description: "An array of constraints." 2784 type: "array" 2785 items: 2786 type: "string" 2787 example: 2788 - "node.hostname!=node3.corp.example.com" 2789 - "node.role!=manager" 2790 - "node.labels.type==production" 2791 Preferences: 2792 description: "Preferences provide a way to make the scheduler aware of factors such as topology. They are provided in order from highest to lowest precedence." 2793 type: "array" 2794 items: 2795 type: "object" 2796 properties: 2797 Spread: 2798 type: "object" 2799 properties: 2800 SpreadDescriptor: 2801 description: "label descriptor, such as engine.labels.az" 2802 type: "string" 2803 example: 2804 - Spread: 2805 SpreadDescriptor: "node.labels.datacenter" 2806 - Spread: 2807 SpreadDescriptor: "node.labels.rack" 2808 Platforms: 2809 description: | 2810 Platforms stores all the platforms that the service's image can 2811 run on. This field is used in the platform filter for scheduling. 2812 If empty, then the platform filter is off, meaning there are no 2813 scheduling restrictions. 2814 type: "array" 2815 items: 2816 $ref: "#/definitions/Platform" 2817 ForceUpdate: 2818 description: "A counter that triggers an update even if no relevant parameters have been changed." 2819 type: "integer" 2820 Runtime: 2821 description: "Runtime is the type of runtime specified for the task executor." 2822 type: "string" 2823 Networks: 2824 type: "array" 2825 items: 2826 type: "object" 2827 properties: 2828 Target: 2829 type: "string" 2830 Aliases: 2831 type: "array" 2832 items: 2833 type: "string" 2834 LogDriver: 2835 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." 2836 type: "object" 2837 properties: 2838 Name: 2839 type: "string" 2840 Options: 2841 type: "object" 2842 additionalProperties: 2843 type: "string" 2844 2845 TaskState: 2846 type: "string" 2847 enum: 2848 - "new" 2849 - "allocated" 2850 - "pending" 2851 - "assigned" 2852 - "accepted" 2853 - "preparing" 2854 - "ready" 2855 - "starting" 2856 - "running" 2857 - "complete" 2858 - "shutdown" 2859 - "failed" 2860 - "rejected" 2861 - "remove" 2862 - "orphaned" 2863 2864 Task: 2865 type: "object" 2866 properties: 2867 ID: 2868 description: "The ID of the task." 2869 type: "string" 2870 Version: 2871 $ref: "#/definitions/ObjectVersion" 2872 CreatedAt: 2873 type: "string" 2874 format: "dateTime" 2875 UpdatedAt: 2876 type: "string" 2877 format: "dateTime" 2878 Name: 2879 description: "Name of the task." 2880 type: "string" 2881 Labels: 2882 description: "User-defined key/value metadata." 2883 type: "object" 2884 additionalProperties: 2885 type: "string" 2886 Spec: 2887 $ref: "#/definitions/TaskSpec" 2888 ServiceID: 2889 description: "The ID of the service this task is part of." 2890 type: "string" 2891 Slot: 2892 type: "integer" 2893 NodeID: 2894 description: "The ID of the node that this task is on." 2895 type: "string" 2896 AssignedGenericResources: 2897 $ref: "#/definitions/GenericResources" 2898 Status: 2899 type: "object" 2900 properties: 2901 Timestamp: 2902 type: "string" 2903 format: "dateTime" 2904 State: 2905 $ref: "#/definitions/TaskState" 2906 Message: 2907 type: "string" 2908 Err: 2909 type: "string" 2910 ContainerStatus: 2911 type: "object" 2912 properties: 2913 ContainerID: 2914 type: "string" 2915 PID: 2916 type: "integer" 2917 ExitCode: 2918 type: "integer" 2919 DesiredState: 2920 $ref: "#/definitions/TaskState" 2921 example: 2922 ID: "0kzzo1i0y4jz6027t0k7aezc7" 2923 Version: 2924 Index: 71 2925 CreatedAt: "2016-06-07T21:07:31.171892745Z" 2926 UpdatedAt: "2016-06-07T21:07:31.376370513Z" 2927 Spec: 2928 ContainerSpec: 2929 Image: "redis" 2930 Resources: 2931 Limits: {} 2932 Reservations: {} 2933 RestartPolicy: 2934 Condition: "any" 2935 MaxAttempts: 0 2936 Placement: {} 2937 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 2938 Slot: 1 2939 NodeID: "60gvrl6tm78dmak4yl7srz94v" 2940 Status: 2941 Timestamp: "2016-06-07T21:07:31.290032978Z" 2942 State: "running" 2943 Message: "started" 2944 ContainerStatus: 2945 ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035" 2946 PID: 677 2947 DesiredState: "running" 2948 NetworksAttachments: 2949 - Network: 2950 ID: "4qvuz4ko70xaltuqbt8956gd1" 2951 Version: 2952 Index: 18 2953 CreatedAt: "2016-06-07T20:31:11.912919752Z" 2954 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 2955 Spec: 2956 Name: "ingress" 2957 Labels: 2958 com.docker.swarm.internal: "true" 2959 DriverConfiguration: {} 2960 IPAMOptions: 2961 Driver: {} 2962 Configs: 2963 - Subnet: "10.255.0.0/16" 2964 Gateway: "10.255.0.1" 2965 DriverState: 2966 Name: "overlay" 2967 Options: 2968 com.docker.network.driver.overlay.vxlanid_list: "256" 2969 IPAMOptions: 2970 Driver: 2971 Name: "default" 2972 Configs: 2973 - Subnet: "10.255.0.0/16" 2974 Gateway: "10.255.0.1" 2975 Addresses: 2976 - "10.255.0.10/16" 2977 AssignedGenericResources: 2978 - DiscreteResourceSpec: 2979 Kind: "SSD" 2980 Value: 3 2981 - NamedResourceSpec: 2982 Kind: "GPU" 2983 Value: "UUID1" 2984 - NamedResourceSpec: 2985 Kind: "GPU" 2986 Value: "UUID2" 2987 2988 ServiceSpec: 2989 description: "User modifiable configuration for a service." 2990 properties: 2991 Name: 2992 description: "Name of the service." 2993 type: "string" 2994 Labels: 2995 description: "User-defined key/value metadata." 2996 type: "object" 2997 additionalProperties: 2998 type: "string" 2999 TaskTemplate: 3000 $ref: "#/definitions/TaskSpec" 3001 Mode: 3002 description: "Scheduling mode for the service." 3003 type: "object" 3004 properties: 3005 Replicated: 3006 type: "object" 3007 properties: 3008 Replicas: 3009 type: "integer" 3010 format: "int64" 3011 Global: 3012 type: "object" 3013 UpdateConfig: 3014 description: "Specification for the update strategy of the service." 3015 type: "object" 3016 properties: 3017 Parallelism: 3018 description: "Maximum number of tasks to be updated in one iteration (0 means unlimited parallelism)." 3019 type: "integer" 3020 format: "int64" 3021 Delay: 3022 description: "Amount of time between updates, in nanoseconds." 3023 type: "integer" 3024 format: "int64" 3025 FailureAction: 3026 description: "Action to take if an updated task fails to run, or stops running during the update." 3027 type: "string" 3028 enum: 3029 - "continue" 3030 - "pause" 3031 - "rollback" 3032 Monitor: 3033 description: "Amount of time to monitor each updated task for failures, in nanoseconds." 3034 type: "integer" 3035 format: "int64" 3036 MaxFailureRatio: 3037 description: "The fraction of tasks that may fail during an update before the failure action is invoked, specified as a floating point number between 0 and 1." 3038 type: "number" 3039 default: 0 3040 Order: 3041 description: "The order of operations when rolling out an updated task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down." 3042 type: "string" 3043 enum: 3044 - "stop-first" 3045 - "start-first" 3046 RollbackConfig: 3047 description: "Specification for the rollback strategy of the service." 3048 type: "object" 3049 properties: 3050 Parallelism: 3051 description: "Maximum number of tasks to be rolled back in one iteration (0 means unlimited parallelism)." 3052 type: "integer" 3053 format: "int64" 3054 Delay: 3055 description: "Amount of time between rollback iterations, in nanoseconds." 3056 type: "integer" 3057 format: "int64" 3058 FailureAction: 3059 description: "Action to take if an rolled back task fails to run, or stops running during the rollback." 3060 type: "string" 3061 enum: 3062 - "continue" 3063 - "pause" 3064 Monitor: 3065 description: "Amount of time to monitor each rolled back task for failures, in nanoseconds." 3066 type: "integer" 3067 format: "int64" 3068 MaxFailureRatio: 3069 description: "The fraction of tasks that may fail during a rollback before the failure action is invoked, specified as a floating point number between 0 and 1." 3070 type: "number" 3071 default: 0 3072 Order: 3073 description: "The order of operations when rolling back a task. Either the old task is shut down before the new task is started, or the new task is started before the old task is shut down." 3074 type: "string" 3075 enum: 3076 - "stop-first" 3077 - "start-first" 3078 Networks: 3079 description: "Array of network names or IDs to attach the service to." 3080 type: "array" 3081 items: 3082 type: "object" 3083 properties: 3084 Target: 3085 type: "string" 3086 Aliases: 3087 type: "array" 3088 items: 3089 type: "string" 3090 EndpointSpec: 3091 $ref: "#/definitions/EndpointSpec" 3092 3093 EndpointPortConfig: 3094 type: "object" 3095 properties: 3096 Name: 3097 type: "string" 3098 Protocol: 3099 type: "string" 3100 enum: 3101 - "tcp" 3102 - "udp" 3103 - "sctp" 3104 TargetPort: 3105 description: "The port inside the container." 3106 type: "integer" 3107 PublishedPort: 3108 description: "The port on the swarm hosts." 3109 type: "integer" 3110 PublishMode: 3111 description: | 3112 The mode in which port is published. 3113 3114 <p><br /></p> 3115 3116 - "ingress" makes the target port accessible on on every node, 3117 regardless of whether there is a task for the service running on 3118 that node or not. 3119 - "host" bypasses the routing mesh and publish the port directly on 3120 the swarm node where that service is running. 3121 3122 type: "string" 3123 enum: 3124 - "ingress" 3125 - "host" 3126 default: "ingress" 3127 example: "ingress" 3128 3129 EndpointSpec: 3130 description: "Properties that can be configured to access and load balance a service." 3131 type: "object" 3132 properties: 3133 Mode: 3134 description: "The mode of resolution to use for internal load balancing 3135 between tasks." 3136 type: "string" 3137 enum: 3138 - "vip" 3139 - "dnsrr" 3140 default: "vip" 3141 Ports: 3142 description: "List of exposed ports that this service is accessible on from the outside. Ports can only be provided if `vip` resolution mode is used." 3143 type: "array" 3144 items: 3145 $ref: "#/definitions/EndpointPortConfig" 3146 3147 Service: 3148 type: "object" 3149 properties: 3150 ID: 3151 type: "string" 3152 Version: 3153 $ref: "#/definitions/ObjectVersion" 3154 CreatedAt: 3155 type: "string" 3156 format: "dateTime" 3157 UpdatedAt: 3158 type: "string" 3159 format: "dateTime" 3160 Spec: 3161 $ref: "#/definitions/ServiceSpec" 3162 Endpoint: 3163 type: "object" 3164 properties: 3165 Spec: 3166 $ref: "#/definitions/EndpointSpec" 3167 Ports: 3168 type: "array" 3169 items: 3170 $ref: "#/definitions/EndpointPortConfig" 3171 VirtualIPs: 3172 type: "array" 3173 items: 3174 type: "object" 3175 properties: 3176 NetworkID: 3177 type: "string" 3178 Addr: 3179 type: "string" 3180 UpdateStatus: 3181 description: "The status of a service update." 3182 type: "object" 3183 properties: 3184 State: 3185 type: "string" 3186 enum: 3187 - "updating" 3188 - "paused" 3189 - "completed" 3190 StartedAt: 3191 type: "string" 3192 format: "dateTime" 3193 CompletedAt: 3194 type: "string" 3195 format: "dateTime" 3196 Message: 3197 type: "string" 3198 example: 3199 ID: "9mnpnzenvg8p8tdbtq4wvbkcz" 3200 Version: 3201 Index: 19 3202 CreatedAt: "2016-06-07T21:05:51.880065305Z" 3203 UpdatedAt: "2016-06-07T21:07:29.962229872Z" 3204 Spec: 3205 Name: "hopeful_cori" 3206 TaskTemplate: 3207 ContainerSpec: 3208 Image: "redis" 3209 Resources: 3210 Limits: {} 3211 Reservations: {} 3212 RestartPolicy: 3213 Condition: "any" 3214 MaxAttempts: 0 3215 Placement: {} 3216 ForceUpdate: 0 3217 Mode: 3218 Replicated: 3219 Replicas: 1 3220 UpdateConfig: 3221 Parallelism: 1 3222 Delay: 1000000000 3223 FailureAction: "pause" 3224 Monitor: 15000000000 3225 MaxFailureRatio: 0.15 3226 RollbackConfig: 3227 Parallelism: 1 3228 Delay: 1000000000 3229 FailureAction: "pause" 3230 Monitor: 15000000000 3231 MaxFailureRatio: 0.15 3232 EndpointSpec: 3233 Mode: "vip" 3234 Ports: 3235 - 3236 Protocol: "tcp" 3237 TargetPort: 6379 3238 PublishedPort: 30001 3239 Endpoint: 3240 Spec: 3241 Mode: "vip" 3242 Ports: 3243 - 3244 Protocol: "tcp" 3245 TargetPort: 6379 3246 PublishedPort: 30001 3247 Ports: 3248 - 3249 Protocol: "tcp" 3250 TargetPort: 6379 3251 PublishedPort: 30001 3252 VirtualIPs: 3253 - 3254 NetworkID: "4qvuz4ko70xaltuqbt8956gd1" 3255 Addr: "10.255.0.2/16" 3256 - 3257 NetworkID: "4qvuz4ko70xaltuqbt8956gd1" 3258 Addr: "10.255.0.3/16" 3259 3260 ImageDeleteResponseItem: 3261 type: "object" 3262 properties: 3263 Untagged: 3264 description: "The image ID of an image that was untagged" 3265 type: "string" 3266 Deleted: 3267 description: "The image ID of an image that was deleted" 3268 type: "string" 3269 3270 ServiceUpdateResponse: 3271 type: "object" 3272 properties: 3273 Warnings: 3274 description: "Optional warning messages" 3275 type: "array" 3276 items: 3277 type: "string" 3278 example: 3279 Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" 3280 3281 ContainerSummary: 3282 type: "array" 3283 items: 3284 type: "object" 3285 properties: 3286 Id: 3287 description: "The ID of this container" 3288 type: "string" 3289 x-go-name: "ID" 3290 Names: 3291 description: "The names that this container has been given" 3292 type: "array" 3293 items: 3294 type: "string" 3295 Image: 3296 description: "The name of the image used when creating this container" 3297 type: "string" 3298 ImageID: 3299 description: "The ID of the image that this container was created from" 3300 type: "string" 3301 Command: 3302 description: "Command to run when starting the container" 3303 type: "string" 3304 Created: 3305 description: "When the container was created" 3306 type: "integer" 3307 format: "int64" 3308 Ports: 3309 description: "The ports exposed by this container" 3310 type: "array" 3311 items: 3312 $ref: "#/definitions/Port" 3313 SizeRw: 3314 description: "The size of files that have been created or changed by this container" 3315 type: "integer" 3316 format: "int64" 3317 SizeRootFs: 3318 description: "The total size of all the files in this container" 3319 type: "integer" 3320 format: "int64" 3321 Labels: 3322 description: "User-defined key/value metadata." 3323 type: "object" 3324 additionalProperties: 3325 type: "string" 3326 State: 3327 description: "The state of this container (e.g. `Exited`)" 3328 type: "string" 3329 Status: 3330 description: "Additional human-readable status of this container (e.g. `Exit 0`)" 3331 type: "string" 3332 HostConfig: 3333 type: "object" 3334 properties: 3335 NetworkMode: 3336 type: "string" 3337 NetworkSettings: 3338 description: "A summary of the container's network settings" 3339 type: "object" 3340 properties: 3341 Networks: 3342 type: "object" 3343 additionalProperties: 3344 $ref: "#/definitions/EndpointSettings" 3345 Mounts: 3346 type: "array" 3347 items: 3348 $ref: "#/definitions/Mount" 3349 3350 Driver: 3351 description: "Driver represents a driver (network, logging, secrets)." 3352 type: "object" 3353 required: [Name] 3354 properties: 3355 Name: 3356 description: "Name of the driver." 3357 type: "string" 3358 x-nullable: false 3359 example: "some-driver" 3360 Options: 3361 description: "Key/value map of driver-specific options." 3362 type: "object" 3363 x-nullable: false 3364 additionalProperties: 3365 type: "string" 3366 example: 3367 OptionA: "value for driver-specific option A" 3368 OptionB: "value for driver-specific option B" 3369 3370 SecretSpec: 3371 type: "object" 3372 properties: 3373 Name: 3374 description: "User-defined name of the secret." 3375 type: "string" 3376 Labels: 3377 description: "User-defined key/value metadata." 3378 type: "object" 3379 additionalProperties: 3380 type: "string" 3381 example: 3382 com.example.some-label: "some-value" 3383 com.example.some-other-label: "some-other-value" 3384 Data: 3385 description: | 3386 Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2)) 3387 data to store as secret. 3388 3389 This field is only used to _create_ a secret, and is not returned by 3390 other endpoints. 3391 type: "string" 3392 example: "" 3393 Driver: 3394 description: "Name of the secrets driver used to fetch the secret's value from an external secret store" 3395 $ref: "#/definitions/Driver" 3396 Templating: 3397 description: | 3398 Templating driver, if applicable 3399 3400 Templating controls whether and how to evaluate the config payload as 3401 a template. If no driver is set, no templating is used. 3402 $ref: "#/definitions/Driver" 3403 3404 Secret: 3405 type: "object" 3406 properties: 3407 ID: 3408 type: "string" 3409 example: "blt1owaxmitz71s9v5zh81zun" 3410 Version: 3411 $ref: "#/definitions/ObjectVersion" 3412 CreatedAt: 3413 type: "string" 3414 format: "dateTime" 3415 example: "2017-07-20T13:55:28.678958722Z" 3416 UpdatedAt: 3417 type: "string" 3418 format: "dateTime" 3419 example: "2017-07-20T13:55:28.678958722Z" 3420 Spec: 3421 $ref: "#/definitions/SecretSpec" 3422 3423 ConfigSpec: 3424 type: "object" 3425 properties: 3426 Name: 3427 description: "User-defined name of the config." 3428 type: "string" 3429 Labels: 3430 description: "User-defined key/value metadata." 3431 type: "object" 3432 additionalProperties: 3433 type: "string" 3434 Data: 3435 description: | 3436 Base64-url-safe-encoded ([RFC 4648](https://tools.ietf.org/html/rfc4648#section-3.2)) 3437 config data. 3438 type: "string" 3439 Templating: 3440 description: | 3441 Templating driver, if applicable 3442 3443 Templating controls whether and how to evaluate the config payload as 3444 a template. If no driver is set, no templating is used. 3445 $ref: "#/definitions/Driver" 3446 3447 Config: 3448 type: "object" 3449 properties: 3450 ID: 3451 type: "string" 3452 Version: 3453 $ref: "#/definitions/ObjectVersion" 3454 CreatedAt: 3455 type: "string" 3456 format: "dateTime" 3457 UpdatedAt: 3458 type: "string" 3459 format: "dateTime" 3460 Spec: 3461 $ref: "#/definitions/ConfigSpec" 3462 3463 SystemInfo: 3464 type: "object" 3465 properties: 3466 ID: 3467 description: | 3468 Unique identifier of the daemon. 3469 3470 <p><br /></p> 3471 3472 > **Note**: The format of the ID itself is not part of the API, and 3473 > should not be considered stable. 3474 type: "string" 3475 example: "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" 3476 Containers: 3477 description: "Total number of containers on the host." 3478 type: "integer" 3479 example: 14 3480 ContainersRunning: 3481 description: | 3482 Number of containers with status `"running"`. 3483 type: "integer" 3484 example: 3 3485 ContainersPaused: 3486 description: | 3487 Number of containers with status `"paused"`. 3488 type: "integer" 3489 example: 1 3490 ContainersStopped: 3491 description: | 3492 Number of containers with status `"stopped"`. 3493 type: "integer" 3494 example: 10 3495 Images: 3496 description: | 3497 Total number of images on the host. 3498 3499 Both _tagged_ and _untagged_ (dangling) images are counted. 3500 type: "integer" 3501 example: 508 3502 Driver: 3503 description: "Name of the storage driver in use." 3504 type: "string" 3505 example: "overlay2" 3506 DriverStatus: 3507 description: | 3508 Information specific to the storage driver, provided as 3509 "label" / "value" pairs. 3510 3511 This information is provided by the storage driver, and formatted 3512 in a way consistent with the output of `docker info` on the command 3513 line. 3514 3515 <p><br /></p> 3516 3517 > **Note**: The information returned in this field, including the 3518 > formatting of values and labels, should not be considered stable, 3519 > and may change without notice. 3520 type: "array" 3521 items: 3522 type: "array" 3523 items: 3524 type: "string" 3525 example: 3526 - ["Backing Filesystem", "extfs"] 3527 - ["Supports d_type", "true"] 3528 - ["Native Overlay Diff", "true"] 3529 DockerRootDir: 3530 description: | 3531 Root directory of persistent Docker state. 3532 3533 Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` 3534 on Windows. 3535 type: "string" 3536 example: "/var/lib/docker" 3537 SystemStatus: 3538 description: | 3539 Status information about this node (standalone Swarm API). 3540 3541 <p><br /></p> 3542 3543 > **Note**: The information returned in this field is only propagated 3544 > by the Swarm standalone API, and is empty (`null`) when using 3545 > built-in swarm mode. 3546 type: "array" 3547 items: 3548 type: "array" 3549 items: 3550 type: "string" 3551 example: 3552 - ["Role", "primary"] 3553 - ["State", "Healthy"] 3554 - ["Strategy", "spread"] 3555 - ["Filters", "health, port, containerslots, dependency, affinity, constraint, whitelist"] 3556 - ["Nodes", "2"] 3557 - [" swarm-agent-00", "192.168.99.102:2376"] 3558 - [" └ ID", "5CT6:FBGO:RVGO:CZL4:PB2K:WCYN:2JSV:KSHH:GGFW:QOPG:6J5Q:IOZ2|192.168.99.102:2376"] 3559 - [" └ Status", "Healthy"] 3560 - [" └ Containers", "1 (1 Running, 0 Paused, 0 Stopped)"] 3561 - [" └ Reserved CPUs", "0 / 1"] 3562 - [" └ Reserved Memory", "0 B / 1.021 GiB"] 3563 - [" └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"] 3564 - [" └ UpdatedAt", "2017-08-09T10:03:46Z"] 3565 - [" └ ServerVersion", "17.06.0-ce"] 3566 - [" swarm-manager", "192.168.99.101:2376"] 3567 - [" └ ID", "TAMD:7LL3:SEF7:LW2W:4Q2X:WVFH:RTXX:JSYS:XY2P:JEHL:ZMJK:JGIW|192.168.99.101:2376"] 3568 - [" └ Status", "Healthy"] 3569 - [" └ Containers", "2 (2 Running, 0 Paused, 0 Stopped)"] 3570 - [" └ Reserved CPUs", "0 / 1"] 3571 - [" └ Reserved Memory", "0 B / 1.021 GiB"] 3572 - [" └ Labels", "kernelversion=4.4.74-boot2docker, operatingsystem=Boot2Docker 17.06.0-ce (TCL 7.2); HEAD : 0672754 - Thu Jun 29 00:06:31 UTC 2017, ostype=linux, provider=virtualbox, storagedriver=aufs"] 3573 - [" └ UpdatedAt", "2017-08-09T10:04:11Z"] 3574 - [" └ ServerVersion", "17.06.0-ce"] 3575 Plugins: 3576 $ref: "#/definitions/PluginsInfo" 3577 MemoryLimit: 3578 description: "Indicates if the host has memory limit support enabled." 3579 type: "boolean" 3580 example: true 3581 SwapLimit: 3582 description: "Indicates if the host has memory swap limit support enabled." 3583 type: "boolean" 3584 example: true 3585 KernelMemory: 3586 description: "Indicates if the host has kernel memory limit support enabled." 3587 type: "boolean" 3588 example: true 3589 CpuCfsPeriod: 3590 description: "Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host." 3591 type: "boolean" 3592 example: true 3593 CpuCfsQuota: 3594 description: "Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host." 3595 type: "boolean" 3596 example: true 3597 CPUShares: 3598 description: "Indicates if CPU Shares limiting is supported by the host." 3599 type: "boolean" 3600 example: true 3601 CPUSet: 3602 description: | 3603 Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host. 3604 3605 See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt) 3606 type: "boolean" 3607 example: true 3608 OomKillDisable: 3609 description: "Indicates if OOM killer disable is supported on the host." 3610 type: "boolean" 3611 IPv4Forwarding: 3612 description: "Indicates IPv4 forwarding is enabled." 3613 type: "boolean" 3614 example: true 3615 BridgeNfIptables: 3616 description: "Indicates if `bridge-nf-call-iptables` is available on the host." 3617 type: "boolean" 3618 example: true 3619 BridgeNfIp6tables: 3620 description: "Indicates if `bridge-nf-call-ip6tables` is available on the host." 3621 type: "boolean" 3622 example: true 3623 Debug: 3624 description: "Indicates if the daemon is running in debug-mode / with debug-level logging enabled." 3625 type: "boolean" 3626 example: true 3627 NFd: 3628 description: | 3629 The total number of file Descriptors in use by the daemon process. 3630 3631 This information is only returned if debug-mode is enabled. 3632 type: "integer" 3633 example: 64 3634 NGoroutines: 3635 description: | 3636 The number of goroutines that currently exist. 3637 3638 This information is only returned if debug-mode is enabled. 3639 type: "integer" 3640 example: 174 3641 SystemTime: 3642 description: | 3643 Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) 3644 format with nano-seconds. 3645 type: "string" 3646 example: "2017-08-08T20:28:29.06202363Z" 3647 LoggingDriver: 3648 description: | 3649 The logging driver to use as a default for new containers. 3650 type: "string" 3651 CgroupDriver: 3652 description: | 3653 The driver to use for managing cgroups. 3654 type: "string" 3655 enum: ["cgroupfs", "systemd"] 3656 default: "cgroupfs" 3657 example: "cgroupfs" 3658 NEventsListener: 3659 description: "Number of event listeners subscribed." 3660 type: "integer" 3661 example: 30 3662 KernelVersion: 3663 description: | 3664 Kernel version of the host. 3665 3666 On Linux, this information obtained from `uname`. On Windows this 3667 information is queried from the <kbd>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\</kbd> 3668 registry value, for example _"10.0 14393 (14393.1198.amd64fre.rs1_release_sec.170427-1353)"_. 3669 type: "string" 3670 example: "4.9.38-moby" 3671 OperatingSystem: 3672 description: | 3673 Name of the host's operating system, for example: "Ubuntu 16.04.2 LTS" 3674 or "Windows Server 2016 Datacenter" 3675 type: "string" 3676 example: "Alpine Linux v3.5" 3677 OSType: 3678 description: | 3679 Generic type of the operating system of the host, as returned by the 3680 Go runtime (`GOOS`). 3681 3682 Currently returned values are "linux" and "windows". A full list of 3683 possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment). 3684 type: "string" 3685 example: "linux" 3686 Architecture: 3687 description: | 3688 Hardware architecture of the host, as returned by the Go runtime 3689 (`GOARCH`). 3690 3691 A full list of possible values can be found in the [Go documentation](https://golang.org/doc/install/source#environment). 3692 type: "string" 3693 example: "x86_64" 3694 NCPU: 3695 description: | 3696 The number of logical CPUs usable by the daemon. 3697 3698 The number of available CPUs is checked by querying the operating 3699 system when the daemon starts. Changes to operating system CPU 3700 allocation after the daemon is started are not reflected. 3701 type: "integer" 3702 example: 4 3703 MemTotal: 3704 description: | 3705 Total amount of physical memory available on the host, in bytes. 3706 type: "integer" 3707 format: "int64" 3708 example: 2095882240 3709 3710 IndexServerAddress: 3711 description: | 3712 Address / URL of the index server that is used for image search, 3713 and as a default for user authentication for Docker Hub and Docker Cloud. 3714 default: "https://index.docker.io/v1/" 3715 type: "string" 3716 example: "https://index.docker.io/v1/" 3717 RegistryConfig: 3718 $ref: "#/definitions/RegistryServiceConfig" 3719 GenericResources: 3720 $ref: "#/definitions/GenericResources" 3721 HttpProxy: 3722 description: | 3723 HTTP-proxy configured for the daemon. This value is obtained from the 3724 [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. 3725 3726 Containers do not automatically inherit this configuration. 3727 type: "string" 3728 example: "http://user:pass@proxy.corp.example.com:8080" 3729 HttpsProxy: 3730 description: | 3731 HTTPS-proxy configured for the daemon. This value is obtained from the 3732 [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) environment variable. 3733 3734 Containers do not automatically inherit this configuration. 3735 type: "string" 3736 example: "https://user:pass@proxy.corp.example.com:4443" 3737 NoProxy: 3738 description: | 3739 Comma-separated list of domain extensions for which no proxy should be 3740 used. This value is obtained from the [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html) 3741 environment variable. 3742 3743 Containers do not automatically inherit this configuration. 3744 type: "string" 3745 example: "*.local, 169.254/16" 3746 Name: 3747 description: "Hostname of the host." 3748 type: "string" 3749 example: "node5.corp.example.com" 3750 Labels: 3751 description: | 3752 User-defined labels (key/value metadata) as set on the daemon. 3753 3754 <p><br /></p> 3755 3756 > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, 3757 > set through the daemon configuration, and _node_ labels, set from a 3758 > manager node in the Swarm. Node labels are not included in this 3759 > field. Node labels can be retrieved using the `/nodes/(id)` endpoint 3760 > on a manager node in the Swarm. 3761 type: "array" 3762 items: 3763 type: "string" 3764 example: ["storage=ssd", "production"] 3765 ExperimentalBuild: 3766 description: | 3767 Indicates if experimental features are enabled on the daemon. 3768 type: "boolean" 3769 example: true 3770 ServerVersion: 3771 description: | 3772 Version string of the daemon. 3773 3774 > **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/) 3775 > returns the Swarm version instead of the daemon version, for example 3776 > `swarm/1.2.8`. 3777 type: "string" 3778 example: "17.06.0-ce" 3779 ClusterStore: 3780 description: | 3781 URL of the distributed storage backend. 3782 3783 3784 The storage backend is used for multihost networking (to store 3785 network and endpoint information) and by the node discovery mechanism. 3786 3787 <p><br /></p> 3788 3789 > **Note**: This field is only propagated when using standalone Swarm 3790 > mode, and overlay networking using an external k/v store. Overlay 3791 > networks with Swarm mode enabled use the built-in raft store, and 3792 > this field will be empty. 3793 type: "string" 3794 example: "consul://consul.corp.example.com:8600/some/path" 3795 ClusterAdvertise: 3796 description: | 3797 The network endpoint that the Engine advertises for the purpose of 3798 node discovery. ClusterAdvertise is a `host:port` combination on which 3799 the daemon is reachable by other hosts. 3800 3801 <p><br /></p> 3802 3803 > **Note**: This field is only propagated when using standalone Swarm 3804 > mode, and overlay networking using an external k/v store. Overlay 3805 > networks with Swarm mode enabled use the built-in raft store, and 3806 > this field will be empty. 3807 type: "string" 3808 example: "node5.corp.example.com:8000" 3809 Runtimes: 3810 description: | 3811 List of [OCI compliant](https://github.com/opencontainers/runtime-spec) 3812 runtimes configured on the daemon. Keys hold the "name" used to 3813 reference the runtime. 3814 3815 The Docker daemon relies on an OCI compliant runtime (invoked via the 3816 `containerd` daemon) as its interface to the Linux kernel namespaces, 3817 cgroups, and SELinux. 3818 3819 The default runtime is `runc`, and automatically configured. Additional 3820 runtimes can be configured by the user and will be listed here. 3821 type: "object" 3822 additionalProperties: 3823 $ref: "#/definitions/Runtime" 3824 default: 3825 runc: 3826 path: "docker-runc" 3827 example: 3828 runc: 3829 path: "docker-runc" 3830 runc-master: 3831 path: "/go/bin/runc" 3832 custom: 3833 path: "/usr/local/bin/my-oci-runtime" 3834 runtimeArgs: ["--debug", "--systemd-cgroup=false"] 3835 DefaultRuntime: 3836 description: | 3837 Name of the default OCI runtime that is used when starting containers. 3838 3839 The default can be overridden per-container at create time. 3840 type: "string" 3841 default: "runc" 3842 example: "runc" 3843 Swarm: 3844 $ref: "#/definitions/SwarmInfo" 3845 LiveRestoreEnabled: 3846 description: | 3847 Indicates if live restore is enabled. 3848 3849 If enabled, containers are kept running when the daemon is shutdown 3850 or upon daemon start if running containers are detected. 3851 type: "boolean" 3852 default: false 3853 example: false 3854 Isolation: 3855 description: | 3856 Represents the isolation technology to use as a default for containers. 3857 The supported values are platform-specific. 3858 3859 If no isolation value is specified on daemon start, on Windows client, 3860 the default is `hyperv`, and on Windows server, the default is `process`. 3861 3862 This option is currently not used on other platforms. 3863 default: "default" 3864 type: "string" 3865 enum: 3866 - "default" 3867 - "hyperv" 3868 - "process" 3869 InitBinary: 3870 description: | 3871 Name and, optional, path of the `docker-init` binary. 3872 3873 If the path is omitted, the daemon searches the host's `$PATH` for the 3874 binary and uses the first result. 3875 type: "string" 3876 example: "docker-init" 3877 ContainerdCommit: 3878 $ref: "#/definitions/Commit" 3879 RuncCommit: 3880 $ref: "#/definitions/Commit" 3881 InitCommit: 3882 $ref: "#/definitions/Commit" 3883 SecurityOptions: 3884 description: | 3885 List of security features that are enabled on the daemon, such as 3886 apparmor, seccomp, SELinux, and user-namespaces (userns). 3887 3888 Additional configuration options for each security feature may 3889 be present, and are included as a comma-separated list of key/value 3890 pairs. 3891 type: "array" 3892 items: 3893 type: "string" 3894 example: 3895 - "name=apparmor" 3896 - "name=seccomp,profile=default" 3897 - "name=selinux" 3898 - "name=userns" 3899 3900 3901 # PluginsInfo is a temp struct holding Plugins name 3902 # registered with docker daemon. It is used by Info struct 3903 PluginsInfo: 3904 description: | 3905 Available plugins per type. 3906 3907 <p><br /></p> 3908 3909 > **Note**: Only unmanaged (V1) plugins are included in this list. 3910 > V1 plugins are "lazily" loaded, and are not returned in this list 3911 > if there is no resource using the plugin. 3912 type: "object" 3913 properties: 3914 Volume: 3915 description: "Names of available volume-drivers, and network-driver plugins." 3916 type: "array" 3917 items: 3918 type: "string" 3919 example: ["local"] 3920 Network: 3921 description: "Names of available network-drivers, and network-driver plugins." 3922 type: "array" 3923 items: 3924 type: "string" 3925 example: ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"] 3926 Authorization: 3927 description: "Names of available authorization plugins." 3928 type: "array" 3929 items: 3930 type: "string" 3931 example: ["img-authz-plugin", "hbm"] 3932 Log: 3933 description: "Names of available logging-drivers, and logging-driver plugins." 3934 type: "array" 3935 items: 3936 type: "string" 3937 example: ["awslogs", "fluentd", "gcplogs", "gelf", "journald", "json-file", "logentries", "splunk", "syslog"] 3938 3939 3940 RegistryServiceConfig: 3941 description: | 3942 RegistryServiceConfig stores daemon registry services configuration. 3943 type: "object" 3944 x-nullable: true 3945 properties: 3946 AllowNondistributableArtifactsCIDRs: 3947 description: | 3948 List of IP ranges to which nondistributable artifacts can be pushed, 3949 using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632). 3950 3951 Some images (for example, Windows base images) contain artifacts 3952 whose distribution is restricted by license. When these images are 3953 pushed to a registry, restricted artifacts are not included. 3954 3955 This configuration override this behavior, and enables the daemon to 3956 push nondistributable artifacts to all registries whose resolved IP 3957 address is within the subnet described by the CIDR syntax. 3958 3959 This option is useful when pushing images containing 3960 nondistributable artifacts to a registry on an air-gapped network so 3961 hosts on that network can pull the images without connecting to 3962 another server. 3963 3964 > **Warning**: Nondistributable artifacts typically have restrictions 3965 > on how and where they can be distributed and shared. Only use this 3966 > feature to push artifacts to private registries and ensure that you 3967 > are in compliance with any terms that cover redistributing 3968 > nondistributable artifacts. 3969 3970 type: "array" 3971 items: 3972 type: "string" 3973 example: ["::1/128", "127.0.0.0/8"] 3974 AllowNondistributableArtifactsHostnames: 3975 description: | 3976 List of registry hostnames to which nondistributable artifacts can be 3977 pushed, using the format `<hostname>[:<port>]` or `<IP address>[:<port>]`. 3978 3979 Some images (for example, Windows base images) contain artifacts 3980 whose distribution is restricted by license. When these images are 3981 pushed to a registry, restricted artifacts are not included. 3982 3983 This configuration override this behavior for the specified 3984 registries. 3985 3986 This option is useful when pushing images containing 3987 nondistributable artifacts to a registry on an air-gapped network so 3988 hosts on that network can pull the images without connecting to 3989 another server. 3990 3991 > **Warning**: Nondistributable artifacts typically have restrictions 3992 > on how and where they can be distributed and shared. Only use this 3993 > feature to push artifacts to private registries and ensure that you 3994 > are in compliance with any terms that cover redistributing 3995 > nondistributable artifacts. 3996 type: "array" 3997 items: 3998 type: "string" 3999 example: ["registry.internal.corp.example.com:3000", "[2001:db8:a0b:12f0::1]:443"] 4000 InsecureRegistryCIDRs: 4001 description: | 4002 List of IP ranges of insecure registries, using the CIDR syntax 4003 ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries 4004 accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates 4005 from unknown CAs) communication. 4006 4007 By default, local registries (`127.0.0.0/8`) are configured as 4008 insecure. All other registries are secure. Communicating with an 4009 insecure registry is not possible if the daemon assumes that registry 4010 is secure. 4011 4012 This configuration override this behavior, insecure communication with 4013 registries whose resolved IP address is within the subnet described by 4014 the CIDR syntax. 4015 4016 Registries can also be marked insecure by hostname. Those registries 4017 are listed under `IndexConfigs` and have their `Secure` field set to 4018 `false`. 4019 4020 > **Warning**: Using this option can be useful when running a local 4021 > registry, but introduces security vulnerabilities. This option 4022 > should therefore ONLY be used for testing purposes. For increased 4023 > security, users should add their CA to their system's list of trusted 4024 > CAs instead of enabling this option. 4025 type: "array" 4026 items: 4027 type: "string" 4028 example: ["::1/128", "127.0.0.0/8"] 4029 IndexConfigs: 4030 type: "object" 4031 additionalProperties: 4032 $ref: "#/definitions/IndexInfo" 4033 example: 4034 "127.0.0.1:5000": 4035 "Name": "127.0.0.1:5000" 4036 "Mirrors": [] 4037 "Secure": false 4038 "Official": false 4039 "[2001:db8:a0b:12f0::1]:80": 4040 "Name": "[2001:db8:a0b:12f0::1]:80" 4041 "Mirrors": [] 4042 "Secure": false 4043 "Official": false 4044 "docker.io": 4045 Name: "docker.io" 4046 Mirrors: ["https://hub-mirror.corp.example.com:5000/"] 4047 Secure: true 4048 Official: true 4049 "registry.internal.corp.example.com:3000": 4050 Name: "registry.internal.corp.example.com:3000" 4051 Mirrors: [] 4052 Secure: false 4053 Official: false 4054 Mirrors: 4055 description: | 4056 List of registry URLs that act as a mirror for the official 4057 (`docker.io`) registry. 4058 4059 type: "array" 4060 items: 4061 type: "string" 4062 example: 4063 - "https://hub-mirror.corp.example.com:5000/" 4064 - "https://[2001:db8:a0b:12f0::1]/" 4065 4066 IndexInfo: 4067 description: 4068 IndexInfo contains information about a registry. 4069 type: "object" 4070 x-nullable: true 4071 properties: 4072 Name: 4073 description: | 4074 Name of the registry, such as "docker.io". 4075 type: "string" 4076 example: "docker.io" 4077 Mirrors: 4078 description: | 4079 List of mirrors, expressed as URIs. 4080 type: "array" 4081 items: 4082 type: "string" 4083 example: 4084 - "https://hub-mirror.corp.example.com:5000/" 4085 - "https://registry-2.docker.io/" 4086 - "https://registry-3.docker.io/" 4087 Secure: 4088 description: | 4089 Indicates if the registry is part of the list of insecure 4090 registries. 4091 4092 If `false`, the registry is insecure. Insecure registries accept 4093 un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from 4094 unknown CAs) communication. 4095 4096 > **Warning**: Insecure registries can be useful when running a local 4097 > registry. However, because its use creates security vulnerabilities 4098 > it should ONLY be enabled for testing purposes. For increased 4099 > security, users should add their CA to their system's list of 4100 > trusted CAs instead of enabling this option. 4101 type: "boolean" 4102 example: true 4103 Official: 4104 description: | 4105 Indicates whether this is an official registry (i.e., Docker Hub / docker.io) 4106 type: "boolean" 4107 example: true 4108 4109 Runtime: 4110 description: | 4111 Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec) 4112 runtime. 4113 4114 The runtime is invoked by the daemon via the `containerd` daemon. OCI 4115 runtimes act as an interface to the Linux kernel namespaces, cgroups, 4116 and SELinux. 4117 type: "object" 4118 properties: 4119 path: 4120 description: | 4121 Name and, optional, path, of the OCI executable binary. 4122 4123 If the path is omitted, the daemon searches the host's `$PATH` for the 4124 binary and uses the first result. 4125 type: "string" 4126 example: "/usr/local/bin/my-oci-runtime" 4127 runtimeArgs: 4128 description: | 4129 List of command-line arguments to pass to the runtime when invoked. 4130 type: "array" 4131 x-nullable: true 4132 items: 4133 type: "string" 4134 example: ["--debug", "--systemd-cgroup=false"] 4135 4136 Commit: 4137 description: | 4138 Commit holds the Git-commit (SHA1) that a binary was built from, as 4139 reported in the version-string of external tools, such as `containerd`, 4140 or `runC`. 4141 type: "object" 4142 properties: 4143 ID: 4144 description: "Actual commit ID of external tool." 4145 type: "string" 4146 example: "cfb82a876ecc11b5ca0977d1733adbe58599088a" 4147 Expected: 4148 description: | 4149 Commit ID of external tool expected by dockerd as set at build time. 4150 type: "string" 4151 example: "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" 4152 4153 SwarmInfo: 4154 description: | 4155 Represents generic information about swarm. 4156 type: "object" 4157 properties: 4158 NodeID: 4159 description: "Unique identifier of for this node in the swarm." 4160 type: "string" 4161 default: "" 4162 example: "k67qz4598weg5unwwffg6z1m1" 4163 NodeAddr: 4164 description: | 4165 IP address at which this node can be reached by other nodes in the 4166 swarm. 4167 type: "string" 4168 default: "" 4169 example: "10.0.0.46" 4170 LocalNodeState: 4171 $ref: "#/definitions/LocalNodeState" 4172 ControlAvailable: 4173 type: "boolean" 4174 default: false 4175 example: true 4176 Error: 4177 type: "string" 4178 default: "" 4179 RemoteManagers: 4180 description: | 4181 List of ID's and addresses of other managers in the swarm. 4182 type: "array" 4183 default: null 4184 x-nullable: true 4185 items: 4186 $ref: "#/definitions/PeerNode" 4187 example: 4188 - NodeID: "71izy0goik036k48jg985xnds" 4189 Addr: "10.0.0.158:2377" 4190 - NodeID: "79y6h1o4gv8n120drcprv5nmc" 4191 Addr: "10.0.0.159:2377" 4192 - NodeID: "k67qz4598weg5unwwffg6z1m1" 4193 Addr: "10.0.0.46:2377" 4194 Nodes: 4195 description: "Total number of nodes in the swarm." 4196 type: "integer" 4197 x-nullable: true 4198 example: 4 4199 Managers: 4200 description: "Total number of managers in the swarm." 4201 type: "integer" 4202 x-nullable: true 4203 example: 3 4204 Cluster: 4205 $ref: "#/definitions/ClusterInfo" 4206 4207 LocalNodeState: 4208 description: "Current local status of this node." 4209 type: "string" 4210 default: "" 4211 enum: 4212 - "" 4213 - "inactive" 4214 - "pending" 4215 - "active" 4216 - "error" 4217 - "locked" 4218 example: "active" 4219 4220 PeerNode: 4221 description: "Represents a peer-node in the swarm" 4222 properties: 4223 NodeID: 4224 description: "Unique identifier of for this node in the swarm." 4225 type: "string" 4226 Addr: 4227 description: | 4228 IP address and ports at which this node can be reached. 4229 type: "string" 4230 4231 paths: 4232 /containers/json: 4233 get: 4234 summary: "List containers" 4235 description: | 4236 Returns a list of containers. For details on the format, see [the inspect endpoint](#operation/ContainerInspect). 4237 4238 Note that it uses a different, smaller representation of a container than inspecting a single container. For example, 4239 the list of linked containers is not propagated . 4240 operationId: "ContainerList" 4241 produces: 4242 - "application/json" 4243 parameters: 4244 - name: "all" 4245 in: "query" 4246 description: "Return all containers. By default, only running containers are shown" 4247 type: "boolean" 4248 default: false 4249 - name: "limit" 4250 in: "query" 4251 description: "Return this number of most recently created containers, including non-running ones." 4252 type: "integer" 4253 - name: "size" 4254 in: "query" 4255 description: "Return the size of container as fields `SizeRw` and `SizeRootFs`." 4256 type: "boolean" 4257 default: false 4258 - name: "filters" 4259 in: "query" 4260 description: | 4261 Filters to process on the container list, encoded as JSON (a `map[string][]string`). For example, `{"status": ["paused"]}` will only return paused containers. Available filters: 4262 4263 - `ancestor`=(`<image-name>[:<tag>]`, `<image id>`, or `<image@digest>`) 4264 - `before`=(`<container id>` or `<container name>`) 4265 - `expose`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`) 4266 - `exited=<int>` containers with exit code of `<int>` 4267 - `health`=(`starting`|`healthy`|`unhealthy`|`none`) 4268 - `id=<ID>` a container's ID 4269 - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only) 4270 - `is-task=`(`true`|`false`) 4271 - `label=key` or `label="key=value"` of a container label 4272 - `name=<name>` a container's name 4273 - `network`=(`<network id>` or `<network name>`) 4274 - `publish`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`) 4275 - `since`=(`<container id>` or `<container name>`) 4276 - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`) 4277 - `volume`=(`<volume name>` or `<mount point destination>`) 4278 type: "string" 4279 responses: 4280 200: 4281 description: "no error" 4282 schema: 4283 $ref: "#/definitions/ContainerSummary" 4284 examples: 4285 application/json: 4286 - Id: "8dfafdbc3a40" 4287 Names: 4288 - "/boring_feynman" 4289 Image: "ubuntu:latest" 4290 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4291 Command: "echo 1" 4292 Created: 1367854155 4293 State: "Exited" 4294 Status: "Exit 0" 4295 Ports: 4296 - PrivatePort: 2222 4297 PublicPort: 3333 4298 Type: "tcp" 4299 Labels: 4300 com.example.vendor: "Acme" 4301 com.example.license: "GPL" 4302 com.example.version: "1.0" 4303 SizeRw: 12288 4304 SizeRootFs: 0 4305 HostConfig: 4306 NetworkMode: "default" 4307 NetworkSettings: 4308 Networks: 4309 bridge: 4310 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4311 EndpointID: "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f" 4312 Gateway: "172.17.0.1" 4313 IPAddress: "172.17.0.2" 4314 IPPrefixLen: 16 4315 IPv6Gateway: "" 4316 GlobalIPv6Address: "" 4317 GlobalIPv6PrefixLen: 0 4318 MacAddress: "02:42:ac:11:00:02" 4319 Mounts: 4320 - Name: "fac362...80535" 4321 Source: "/data" 4322 Destination: "/data" 4323 Driver: "local" 4324 Mode: "ro,Z" 4325 RW: false 4326 Propagation: "" 4327 - Id: "9cd87474be90" 4328 Names: 4329 - "/coolName" 4330 Image: "ubuntu:latest" 4331 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4332 Command: "echo 222222" 4333 Created: 1367854155 4334 State: "Exited" 4335 Status: "Exit 0" 4336 Ports: [] 4337 Labels: {} 4338 SizeRw: 12288 4339 SizeRootFs: 0 4340 HostConfig: 4341 NetworkMode: "default" 4342 NetworkSettings: 4343 Networks: 4344 bridge: 4345 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4346 EndpointID: "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a" 4347 Gateway: "172.17.0.1" 4348 IPAddress: "172.17.0.8" 4349 IPPrefixLen: 16 4350 IPv6Gateway: "" 4351 GlobalIPv6Address: "" 4352 GlobalIPv6PrefixLen: 0 4353 MacAddress: "02:42:ac:11:00:08" 4354 Mounts: [] 4355 - Id: "3176a2479c92" 4356 Names: 4357 - "/sleepy_dog" 4358 Image: "ubuntu:latest" 4359 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4360 Command: "echo 3333333333333333" 4361 Created: 1367854154 4362 State: "Exited" 4363 Status: "Exit 0" 4364 Ports: [] 4365 Labels: {} 4366 SizeRw: 12288 4367 SizeRootFs: 0 4368 HostConfig: 4369 NetworkMode: "default" 4370 NetworkSettings: 4371 Networks: 4372 bridge: 4373 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4374 EndpointID: "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d" 4375 Gateway: "172.17.0.1" 4376 IPAddress: "172.17.0.6" 4377 IPPrefixLen: 16 4378 IPv6Gateway: "" 4379 GlobalIPv6Address: "" 4380 GlobalIPv6PrefixLen: 0 4381 MacAddress: "02:42:ac:11:00:06" 4382 Mounts: [] 4383 - Id: "4cb07b47f9fb" 4384 Names: 4385 - "/running_cat" 4386 Image: "ubuntu:latest" 4387 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4388 Command: "echo 444444444444444444444444444444444" 4389 Created: 1367854152 4390 State: "Exited" 4391 Status: "Exit 0" 4392 Ports: [] 4393 Labels: {} 4394 SizeRw: 12288 4395 SizeRootFs: 0 4396 HostConfig: 4397 NetworkMode: "default" 4398 NetworkSettings: 4399 Networks: 4400 bridge: 4401 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4402 EndpointID: "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9" 4403 Gateway: "172.17.0.1" 4404 IPAddress: "172.17.0.5" 4405 IPPrefixLen: 16 4406 IPv6Gateway: "" 4407 GlobalIPv6Address: "" 4408 GlobalIPv6PrefixLen: 0 4409 MacAddress: "02:42:ac:11:00:05" 4410 Mounts: [] 4411 400: 4412 description: "bad parameter" 4413 schema: 4414 $ref: "#/definitions/ErrorResponse" 4415 500: 4416 description: "server error" 4417 schema: 4418 $ref: "#/definitions/ErrorResponse" 4419 tags: ["Container"] 4420 /containers/create: 4421 post: 4422 summary: "Create a container" 4423 operationId: "ContainerCreate" 4424 consumes: 4425 - "application/json" 4426 - "application/octet-stream" 4427 produces: 4428 - "application/json" 4429 parameters: 4430 - name: "name" 4431 in: "query" 4432 description: "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`." 4433 type: "string" 4434 pattern: "/?[a-zA-Z0-9_-]+" 4435 - name: "body" 4436 in: "body" 4437 description: "Container to create" 4438 schema: 4439 allOf: 4440 - $ref: "#/definitions/ContainerConfig" 4441 - type: "object" 4442 properties: 4443 HostConfig: 4444 $ref: "#/definitions/HostConfig" 4445 NetworkingConfig: 4446 description: "This container's networking configuration." 4447 type: "object" 4448 properties: 4449 EndpointsConfig: 4450 description: "A mapping of network name to endpoint configuration for that network." 4451 type: "object" 4452 additionalProperties: 4453 $ref: "#/definitions/EndpointSettings" 4454 example: 4455 Hostname: "" 4456 Domainname: "" 4457 User: "" 4458 AttachStdin: false 4459 AttachStdout: true 4460 AttachStderr: true 4461 Tty: false 4462 OpenStdin: false 4463 StdinOnce: false 4464 Env: 4465 - "FOO=bar" 4466 - "BAZ=quux" 4467 Cmd: 4468 - "date" 4469 Entrypoint: "" 4470 Image: "ubuntu" 4471 Labels: 4472 com.example.vendor: "Acme" 4473 com.example.license: "GPL" 4474 com.example.version: "1.0" 4475 Volumes: 4476 /volumes/data: {} 4477 WorkingDir: "" 4478 NetworkDisabled: false 4479 MacAddress: "12:34:56:78:9a:bc" 4480 ExposedPorts: 4481 22/tcp: {} 4482 StopSignal: "SIGTERM" 4483 StopTimeout: 10 4484 HostConfig: 4485 Binds: 4486 - "/tmp:/tmp" 4487 Links: 4488 - "redis3:redis" 4489 Memory: 0 4490 MemorySwap: 0 4491 MemoryReservation: 0 4492 KernelMemory: 0 4493 NanoCpus: 500000 4494 CpuPercent: 80 4495 CpuShares: 512 4496 CpuPeriod: 100000 4497 CpuRealtimePeriod: 1000000 4498 CpuRealtimeRuntime: 10000 4499 CpuQuota: 50000 4500 CpusetCpus: "0,1" 4501 CpusetMems: "0,1" 4502 MaximumIOps: 0 4503 MaximumIOBps: 0 4504 BlkioWeight: 300 4505 BlkioWeightDevice: 4506 - {} 4507 BlkioDeviceReadBps: 4508 - {} 4509 BlkioDeviceReadIOps: 4510 - {} 4511 BlkioDeviceWriteBps: 4512 - {} 4513 BlkioDeviceWriteIOps: 4514 - {} 4515 MemorySwappiness: 60 4516 OomKillDisable: false 4517 OomScoreAdj: 500 4518 PidMode: "" 4519 PidsLimit: -1 4520 PortBindings: 4521 22/tcp: 4522 - HostPort: "11022" 4523 PublishAllPorts: false 4524 Privileged: false 4525 ReadonlyRootfs: false 4526 Dns: 4527 - "8.8.8.8" 4528 DnsOptions: 4529 - "" 4530 DnsSearch: 4531 - "" 4532 VolumesFrom: 4533 - "parent" 4534 - "other:ro" 4535 CapAdd: 4536 - "NET_ADMIN" 4537 CapDrop: 4538 - "MKNOD" 4539 GroupAdd: 4540 - "newgroup" 4541 RestartPolicy: 4542 Name: "" 4543 MaximumRetryCount: 0 4544 AutoRemove: true 4545 NetworkMode: "bridge" 4546 Devices: [] 4547 Ulimits: 4548 - {} 4549 LogConfig: 4550 Type: "json-file" 4551 Config: {} 4552 SecurityOpt: [] 4553 StorageOpt: {} 4554 CgroupParent: "" 4555 VolumeDriver: "" 4556 ShmSize: 67108864 4557 NetworkingConfig: 4558 EndpointsConfig: 4559 isolated_nw: 4560 IPAMConfig: 4561 IPv4Address: "172.20.30.33" 4562 IPv6Address: "2001:db8:abcd::3033" 4563 LinkLocalIPs: 4564 - "169.254.34.68" 4565 - "fe80::3468" 4566 Links: 4567 - "container_1" 4568 - "container_2" 4569 Aliases: 4570 - "server_x" 4571 - "server_y" 4572 4573 required: true 4574 responses: 4575 201: 4576 description: "Container created successfully" 4577 schema: 4578 type: "object" 4579 title: "ContainerCreateResponse" 4580 description: "OK response to ContainerCreate operation" 4581 required: [Id, Warnings] 4582 properties: 4583 Id: 4584 description: "The ID of the created container" 4585 type: "string" 4586 x-nullable: false 4587 Warnings: 4588 description: "Warnings encountered when creating the container" 4589 type: "array" 4590 x-nullable: false 4591 items: 4592 type: "string" 4593 examples: 4594 application/json: 4595 Id: "e90e34656806" 4596 Warnings: [] 4597 400: 4598 description: "bad parameter" 4599 schema: 4600 $ref: "#/definitions/ErrorResponse" 4601 404: 4602 description: "no such image" 4603 schema: 4604 $ref: "#/definitions/ErrorResponse" 4605 examples: 4606 application/json: 4607 message: "No such image: c2ada9df5af8" 4608 409: 4609 description: "conflict" 4610 schema: 4611 $ref: "#/definitions/ErrorResponse" 4612 500: 4613 description: "server error" 4614 schema: 4615 $ref: "#/definitions/ErrorResponse" 4616 tags: ["Container"] 4617 /containers/{id}/json: 4618 get: 4619 summary: "Inspect a container" 4620 description: "Return low-level information about a container." 4621 operationId: "ContainerInspect" 4622 produces: 4623 - "application/json" 4624 responses: 4625 200: 4626 description: "no error" 4627 schema: 4628 type: "object" 4629 title: "ContainerInspectResponse" 4630 properties: 4631 Id: 4632 description: "The ID of the container" 4633 type: "string" 4634 Created: 4635 description: "The time the container was created" 4636 type: "string" 4637 Path: 4638 description: "The path to the command being run" 4639 type: "string" 4640 Args: 4641 description: "The arguments to the command being run" 4642 type: "array" 4643 items: 4644 type: "string" 4645 State: 4646 description: "The state of the container." 4647 type: "object" 4648 properties: 4649 Status: 4650 description: | 4651 The status of the container. For example, `"running"` or `"exited"`. 4652 type: "string" 4653 enum: ["created", "running", "paused", "restarting", "removing", "exited", "dead"] 4654 Running: 4655 description: | 4656 Whether this container is running. 4657 4658 Note that a running container can be _paused_. The `Running` and `Paused` 4659 booleans are not mutually exclusive: 4660 4661 When pausing a container (on Linux), the cgroups freezer is used to suspend 4662 all processes in the container. Freezing the process requires the process to 4663 be running. As a result, paused containers are both `Running` _and_ `Paused`. 4664 4665 Use the `Status` field instead to determine if a container's state is "running". 4666 type: "boolean" 4667 Paused: 4668 description: "Whether this container is paused." 4669 type: "boolean" 4670 Restarting: 4671 description: "Whether this container is restarting." 4672 type: "boolean" 4673 OOMKilled: 4674 description: "Whether this container has been killed because it ran out of memory." 4675 type: "boolean" 4676 Dead: 4677 type: "boolean" 4678 Pid: 4679 description: "The process ID of this container" 4680 type: "integer" 4681 ExitCode: 4682 description: "The last exit code of this container" 4683 type: "integer" 4684 Error: 4685 type: "string" 4686 StartedAt: 4687 description: "The time when this container was last started." 4688 type: "string" 4689 FinishedAt: 4690 description: "The time when this container last exited." 4691 type: "string" 4692 Image: 4693 description: "The container's image" 4694 type: "string" 4695 ResolvConfPath: 4696 type: "string" 4697 HostnamePath: 4698 type: "string" 4699 HostsPath: 4700 type: "string" 4701 LogPath: 4702 type: "string" 4703 Node: 4704 description: "TODO" 4705 type: "object" 4706 Name: 4707 type: "string" 4708 RestartCount: 4709 type: "integer" 4710 Driver: 4711 type: "string" 4712 MountLabel: 4713 type: "string" 4714 ProcessLabel: 4715 type: "string" 4716 AppArmorProfile: 4717 type: "string" 4718 ExecIDs: 4719 description: "IDs of exec instances that are running in the container." 4720 type: "array" 4721 items: 4722 type: "string" 4723 x-nullable: true 4724 HostConfig: 4725 $ref: "#/definitions/HostConfig" 4726 GraphDriver: 4727 $ref: "#/definitions/GraphDriverData" 4728 SizeRw: 4729 description: "The size of files that have been created or changed by this container." 4730 type: "integer" 4731 format: "int64" 4732 SizeRootFs: 4733 description: "The total size of all the files in this container." 4734 type: "integer" 4735 format: "int64" 4736 Mounts: 4737 type: "array" 4738 items: 4739 $ref: "#/definitions/MountPoint" 4740 Config: 4741 $ref: "#/definitions/ContainerConfig" 4742 NetworkSettings: 4743 $ref: "#/definitions/NetworkSettings" 4744 examples: 4745 application/json: 4746 AppArmorProfile: "" 4747 Args: 4748 - "-c" 4749 - "exit 9" 4750 Config: 4751 AttachStderr: true 4752 AttachStdin: false 4753 AttachStdout: true 4754 Cmd: 4755 - "/bin/sh" 4756 - "-c" 4757 - "exit 9" 4758 Domainname: "" 4759 Env: 4760 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 4761 Hostname: "ba033ac44011" 4762 Image: "ubuntu" 4763 Labels: 4764 com.example.vendor: "Acme" 4765 com.example.license: "GPL" 4766 com.example.version: "1.0" 4767 MacAddress: "" 4768 NetworkDisabled: false 4769 OpenStdin: false 4770 StdinOnce: false 4771 Tty: false 4772 User: "" 4773 Volumes: 4774 /volumes/data: {} 4775 WorkingDir: "" 4776 StopSignal: "SIGTERM" 4777 StopTimeout: 10 4778 Created: "2015-01-06T15:47:31.485331387Z" 4779 Driver: "devicemapper" 4780 ExecIDs: 4781 - "b35395de42bc8abd327f9dd65d913b9ba28c74d2f0734eeeae84fa1c616a0fca" 4782 - "3fc1232e5cd20c8de182ed81178503dc6437f4e7ef12b52cc5e8de020652f1c4" 4783 HostConfig: 4784 MaximumIOps: 0 4785 MaximumIOBps: 0 4786 BlkioWeight: 0 4787 BlkioWeightDevice: 4788 - {} 4789 BlkioDeviceReadBps: 4790 - {} 4791 BlkioDeviceWriteBps: 4792 - {} 4793 BlkioDeviceReadIOps: 4794 - {} 4795 BlkioDeviceWriteIOps: 4796 - {} 4797 ContainerIDFile: "" 4798 CpusetCpus: "" 4799 CpusetMems: "" 4800 CpuPercent: 80 4801 CpuShares: 0 4802 CpuPeriod: 100000 4803 CpuRealtimePeriod: 1000000 4804 CpuRealtimeRuntime: 10000 4805 Devices: [] 4806 IpcMode: "" 4807 LxcConf: [] 4808 Memory: 0 4809 MemorySwap: 0 4810 MemoryReservation: 0 4811 KernelMemory: 0 4812 OomKillDisable: false 4813 OomScoreAdj: 500 4814 NetworkMode: "bridge" 4815 PidMode: "" 4816 PortBindings: {} 4817 Privileged: false 4818 ReadonlyRootfs: false 4819 PublishAllPorts: false 4820 RestartPolicy: 4821 MaximumRetryCount: 2 4822 Name: "on-failure" 4823 LogConfig: 4824 Type: "json-file" 4825 Sysctls: 4826 net.ipv4.ip_forward: "1" 4827 Ulimits: 4828 - {} 4829 VolumeDriver: "" 4830 ShmSize: 67108864 4831 HostnamePath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname" 4832 HostsPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts" 4833 LogPath: "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log" 4834 Id: "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39" 4835 Image: "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2" 4836 MountLabel: "" 4837 Name: "/boring_euclid" 4838 NetworkSettings: 4839 Bridge: "" 4840 SandboxID: "" 4841 HairpinMode: false 4842 LinkLocalIPv6Address: "" 4843 LinkLocalIPv6PrefixLen: 0 4844 SandboxKey: "" 4845 EndpointID: "" 4846 Gateway: "" 4847 GlobalIPv6Address: "" 4848 GlobalIPv6PrefixLen: 0 4849 IPAddress: "" 4850 IPPrefixLen: 0 4851 IPv6Gateway: "" 4852 MacAddress: "" 4853 Networks: 4854 bridge: 4855 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4856 EndpointID: "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d" 4857 Gateway: "172.17.0.1" 4858 IPAddress: "172.17.0.2" 4859 IPPrefixLen: 16 4860 IPv6Gateway: "" 4861 GlobalIPv6Address: "" 4862 GlobalIPv6PrefixLen: 0 4863 MacAddress: "02:42:ac:12:00:02" 4864 Path: "/bin/sh" 4865 ProcessLabel: "" 4866 ResolvConfPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf" 4867 RestartCount: 1 4868 State: 4869 Error: "" 4870 ExitCode: 9 4871 FinishedAt: "2015-01-06T15:47:32.080254511Z" 4872 OOMKilled: false 4873 Dead: false 4874 Paused: false 4875 Pid: 0 4876 Restarting: false 4877 Running: true 4878 StartedAt: "2015-01-06T15:47:32.072697474Z" 4879 Status: "running" 4880 Mounts: 4881 - Name: "fac362...80535" 4882 Source: "/data" 4883 Destination: "/data" 4884 Driver: "local" 4885 Mode: "ro,Z" 4886 RW: false 4887 Propagation: "" 4888 404: 4889 description: "no such container" 4890 schema: 4891 $ref: "#/definitions/ErrorResponse" 4892 examples: 4893 application/json: 4894 message: "No such container: c2ada9df5af8" 4895 500: 4896 description: "server error" 4897 schema: 4898 $ref: "#/definitions/ErrorResponse" 4899 parameters: 4900 - name: "id" 4901 in: "path" 4902 required: true 4903 description: "ID or name of the container" 4904 type: "string" 4905 - name: "size" 4906 in: "query" 4907 type: "boolean" 4908 default: false 4909 description: "Return the size of container as fields `SizeRw` and `SizeRootFs`" 4910 tags: ["Container"] 4911 /containers/{id}/top: 4912 get: 4913 summary: "List processes running inside a container" 4914 description: "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows." 4915 operationId: "ContainerTop" 4916 responses: 4917 200: 4918 description: "no error" 4919 schema: 4920 type: "object" 4921 title: "ContainerTopResponse" 4922 description: "OK response to ContainerTop operation" 4923 properties: 4924 Titles: 4925 description: "The ps column titles" 4926 type: "array" 4927 items: 4928 type: "string" 4929 Processes: 4930 description: "Each process running in the container, where each is process is an array of values corresponding to the titles" 4931 type: "array" 4932 items: 4933 type: "array" 4934 items: 4935 type: "string" 4936 examples: 4937 application/json: 4938 Titles: 4939 - "UID" 4940 - "PID" 4941 - "PPID" 4942 - "C" 4943 - "STIME" 4944 - "TTY" 4945 - "TIME" 4946 - "CMD" 4947 Processes: 4948 - 4949 - "root" 4950 - "13642" 4951 - "882" 4952 - "0" 4953 - "17:03" 4954 - "pts/0" 4955 - "00:00:00" 4956 - "/bin/bash" 4957 - 4958 - "root" 4959 - "13735" 4960 - "13642" 4961 - "0" 4962 - "17:06" 4963 - "pts/0" 4964 - "00:00:00" 4965 - "sleep 10" 4966 404: 4967 description: "no such container" 4968 schema: 4969 $ref: "#/definitions/ErrorResponse" 4970 examples: 4971 application/json: 4972 message: "No such container: c2ada9df5af8" 4973 500: 4974 description: "server error" 4975 schema: 4976 $ref: "#/definitions/ErrorResponse" 4977 parameters: 4978 - name: "id" 4979 in: "path" 4980 required: true 4981 description: "ID or name of the container" 4982 type: "string" 4983 - name: "ps_args" 4984 in: "query" 4985 description: "The arguments to pass to `ps`. For example, `aux`" 4986 type: "string" 4987 default: "-ef" 4988 tags: ["Container"] 4989 /containers/{id}/logs: 4990 get: 4991 summary: "Get container logs" 4992 description: | 4993 Get `stdout` and `stderr` logs from a container. 4994 4995 Note: This endpoint works only for containers with the `json-file` or `journald` logging driver. 4996 operationId: "ContainerLogs" 4997 responses: 4998 101: 4999 description: "logs returned as a stream" 5000 schema: 5001 type: "string" 5002 format: "binary" 5003 200: 5004 description: "logs returned as a string in response body" 5005 schema: 5006 type: "string" 5007 404: 5008 description: "no such container" 5009 schema: 5010 $ref: "#/definitions/ErrorResponse" 5011 examples: 5012 application/json: 5013 message: "No such container: c2ada9df5af8" 5014 500: 5015 description: "server error" 5016 schema: 5017 $ref: "#/definitions/ErrorResponse" 5018 parameters: 5019 - name: "id" 5020 in: "path" 5021 required: true 5022 description: "ID or name of the container" 5023 type: "string" 5024 - name: "follow" 5025 in: "query" 5026 description: | 5027 Return the logs as a stream. 5028 5029 This will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach). 5030 type: "boolean" 5031 default: false 5032 - name: "stdout" 5033 in: "query" 5034 description: "Return logs from `stdout`" 5035 type: "boolean" 5036 default: false 5037 - name: "stderr" 5038 in: "query" 5039 description: "Return logs from `stderr`" 5040 type: "boolean" 5041 default: false 5042 - name: "since" 5043 in: "query" 5044 description: "Only return logs since this time, as a UNIX timestamp" 5045 type: "integer" 5046 default: 0 5047 - name: "until" 5048 in: "query" 5049 description: "Only return logs before this time, as a UNIX timestamp" 5050 type: "integer" 5051 default: 0 5052 - name: "timestamps" 5053 in: "query" 5054 description: "Add timestamps to every log line" 5055 type: "boolean" 5056 default: false 5057 - name: "tail" 5058 in: "query" 5059 description: "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines." 5060 type: "string" 5061 default: "all" 5062 tags: ["Container"] 5063 /containers/{id}/changes: 5064 get: 5065 summary: "Get changes on a container’s filesystem" 5066 description: | 5067 Returns which files in a container's filesystem have been added, deleted, 5068 or modified. The `Kind` of modification can be one of: 5069 5070 - `0`: Modified 5071 - `1`: Added 5072 - `2`: Deleted 5073 operationId: "ContainerChanges" 5074 produces: ["application/json"] 5075 responses: 5076 200: 5077 description: "The list of changes" 5078 schema: 5079 type: "array" 5080 items: 5081 type: "object" 5082 x-go-name: "ContainerChangeResponseItem" 5083 title: "ContainerChangeResponseItem" 5084 description: "change item in response to ContainerChanges operation" 5085 required: [Path, Kind] 5086 properties: 5087 Path: 5088 description: "Path to file that has changed" 5089 type: "string" 5090 x-nullable: false 5091 Kind: 5092 description: "Kind of change" 5093 type: "integer" 5094 format: "uint8" 5095 enum: [0, 1, 2] 5096 x-nullable: false 5097 examples: 5098 application/json: 5099 - Path: "/dev" 5100 Kind: 0 5101 - Path: "/dev/kmsg" 5102 Kind: 1 5103 - Path: "/test" 5104 Kind: 1 5105 404: 5106 description: "no such container" 5107 schema: 5108 $ref: "#/definitions/ErrorResponse" 5109 examples: 5110 application/json: 5111 message: "No such container: c2ada9df5af8" 5112 500: 5113 description: "server error" 5114 schema: 5115 $ref: "#/definitions/ErrorResponse" 5116 parameters: 5117 - name: "id" 5118 in: "path" 5119 required: true 5120 description: "ID or name of the container" 5121 type: "string" 5122 tags: ["Container"] 5123 /containers/{id}/export: 5124 get: 5125 summary: "Export a container" 5126 description: "Export the contents of a container as a tarball." 5127 operationId: "ContainerExport" 5128 produces: 5129 - "application/octet-stream" 5130 responses: 5131 200: 5132 description: "no error" 5133 404: 5134 description: "no such container" 5135 schema: 5136 $ref: "#/definitions/ErrorResponse" 5137 examples: 5138 application/json: 5139 message: "No such container: c2ada9df5af8" 5140 500: 5141 description: "server error" 5142 schema: 5143 $ref: "#/definitions/ErrorResponse" 5144 parameters: 5145 - name: "id" 5146 in: "path" 5147 required: true 5148 description: "ID or name of the container" 5149 type: "string" 5150 tags: ["Container"] 5151 /containers/{id}/stats: 5152 get: 5153 summary: "Get container stats based on resource usage" 5154 description: | 5155 This endpoint returns a live stream of a container’s resource usage 5156 statistics. 5157 5158 The `precpu_stats` is the CPU statistic of the *previous* read, and is 5159 used to calculate the CPU usage percentage. It is not an exact copy 5160 of the `cpu_stats` field. 5161 5162 If either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is 5163 nil then for compatibility with older daemons the length of the 5164 corresponding `cpu_usage.percpu_usage` array should be used. 5165 operationId: "ContainerStats" 5166 produces: ["application/json"] 5167 responses: 5168 200: 5169 description: "no error" 5170 schema: 5171 type: "object" 5172 examples: 5173 application/json: 5174 read: "2015-01-08T22:57:31.547920715Z" 5175 pids_stats: 5176 current: 3 5177 networks: 5178 eth0: 5179 rx_bytes: 5338 5180 rx_dropped: 0 5181 rx_errors: 0 5182 rx_packets: 36 5183 tx_bytes: 648 5184 tx_dropped: 0 5185 tx_errors: 0 5186 tx_packets: 8 5187 eth5: 5188 rx_bytes: 4641 5189 rx_dropped: 0 5190 rx_errors: 0 5191 rx_packets: 26 5192 tx_bytes: 690 5193 tx_dropped: 0 5194 tx_errors: 0 5195 tx_packets: 9 5196 memory_stats: 5197 stats: 5198 total_pgmajfault: 0 5199 cache: 0 5200 mapped_file: 0 5201 total_inactive_file: 0 5202 pgpgout: 414 5203 rss: 6537216 5204 total_mapped_file: 0 5205 writeback: 0 5206 unevictable: 0 5207 pgpgin: 477 5208 total_unevictable: 0 5209 pgmajfault: 0 5210 total_rss: 6537216 5211 total_rss_huge: 6291456 5212 total_writeback: 0 5213 total_inactive_anon: 0 5214 rss_huge: 6291456 5215 hierarchical_memory_limit: 67108864 5216 total_pgfault: 964 5217 total_active_file: 0 5218 active_anon: 6537216 5219 total_active_anon: 6537216 5220 total_pgpgout: 414 5221 total_cache: 0 5222 inactive_anon: 0 5223 active_file: 0 5224 pgfault: 964 5225 inactive_file: 0 5226 total_pgpgin: 477 5227 max_usage: 6651904 5228 usage: 6537216 5229 failcnt: 0 5230 limit: 67108864 5231 blkio_stats: {} 5232 cpu_stats: 5233 cpu_usage: 5234 percpu_usage: 5235 - 8646879 5236 - 24472255 5237 - 36438778 5238 - 30657443 5239 usage_in_usermode: 50000000 5240 total_usage: 100215355 5241 usage_in_kernelmode: 30000000 5242 system_cpu_usage: 739306590000000 5243 online_cpus: 4 5244 throttling_data: 5245 periods: 0 5246 throttled_periods: 0 5247 throttled_time: 0 5248 precpu_stats: 5249 cpu_usage: 5250 percpu_usage: 5251 - 8646879 5252 - 24350896 5253 - 36438778 5254 - 30657443 5255 usage_in_usermode: 50000000 5256 total_usage: 100093996 5257 usage_in_kernelmode: 30000000 5258 system_cpu_usage: 9492140000000 5259 online_cpus: 4 5260 throttling_data: 5261 periods: 0 5262 throttled_periods: 0 5263 throttled_time: 0 5264 404: 5265 description: "no such container" 5266 schema: 5267 $ref: "#/definitions/ErrorResponse" 5268 examples: 5269 application/json: 5270 message: "No such container: c2ada9df5af8" 5271 500: 5272 description: "server error" 5273 schema: 5274 $ref: "#/definitions/ErrorResponse" 5275 parameters: 5276 - name: "id" 5277 in: "path" 5278 required: true 5279 description: "ID or name of the container" 5280 type: "string" 5281 - name: "stream" 5282 in: "query" 5283 description: "Stream the output. If false, the stats will be output once and then it will disconnect." 5284 type: "boolean" 5285 default: true 5286 tags: ["Container"] 5287 /containers/{id}/resize: 5288 post: 5289 summary: "Resize a container TTY" 5290 description: "Resize the TTY for a container. You must restart the container for the resize to take effect." 5291 operationId: "ContainerResize" 5292 consumes: 5293 - "application/octet-stream" 5294 produces: 5295 - "text/plain" 5296 responses: 5297 200: 5298 description: "no error" 5299 404: 5300 description: "no such container" 5301 schema: 5302 $ref: "#/definitions/ErrorResponse" 5303 examples: 5304 application/json: 5305 message: "No such container: c2ada9df5af8" 5306 500: 5307 description: "cannot resize container" 5308 schema: 5309 $ref: "#/definitions/ErrorResponse" 5310 parameters: 5311 - name: "id" 5312 in: "path" 5313 required: true 5314 description: "ID or name of the container" 5315 type: "string" 5316 - name: "h" 5317 in: "query" 5318 description: "Height of the tty session in characters" 5319 type: "integer" 5320 - name: "w" 5321 in: "query" 5322 description: "Width of the tty session in characters" 5323 type: "integer" 5324 tags: ["Container"] 5325 /containers/{id}/start: 5326 post: 5327 summary: "Start a container" 5328 operationId: "ContainerStart" 5329 responses: 5330 204: 5331 description: "no error" 5332 304: 5333 description: "container already started" 5334 schema: 5335 $ref: "#/definitions/ErrorResponse" 5336 404: 5337 description: "no such container" 5338 schema: 5339 $ref: "#/definitions/ErrorResponse" 5340 examples: 5341 application/json: 5342 message: "No such container: c2ada9df5af8" 5343 500: 5344 description: "server error" 5345 schema: 5346 $ref: "#/definitions/ErrorResponse" 5347 parameters: 5348 - name: "id" 5349 in: "path" 5350 required: true 5351 description: "ID or name of the container" 5352 type: "string" 5353 - name: "detachKeys" 5354 in: "query" 5355 description: "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`." 5356 type: "string" 5357 tags: ["Container"] 5358 /containers/{id}/stop: 5359 post: 5360 summary: "Stop a container" 5361 operationId: "ContainerStop" 5362 responses: 5363 204: 5364 description: "no error" 5365 304: 5366 description: "container already stopped" 5367 schema: 5368 $ref: "#/definitions/ErrorResponse" 5369 404: 5370 description: "no such container" 5371 schema: 5372 $ref: "#/definitions/ErrorResponse" 5373 examples: 5374 application/json: 5375 message: "No such container: c2ada9df5af8" 5376 500: 5377 description: "server error" 5378 schema: 5379 $ref: "#/definitions/ErrorResponse" 5380 parameters: 5381 - name: "id" 5382 in: "path" 5383 required: true 5384 description: "ID or name of the container" 5385 type: "string" 5386 - name: "t" 5387 in: "query" 5388 description: "Number of seconds to wait before killing the container" 5389 type: "integer" 5390 tags: ["Container"] 5391 /containers/{id}/restart: 5392 post: 5393 summary: "Restart a container" 5394 operationId: "ContainerRestart" 5395 responses: 5396 204: 5397 description: "no error" 5398 404: 5399 description: "no such container" 5400 schema: 5401 $ref: "#/definitions/ErrorResponse" 5402 examples: 5403 application/json: 5404 message: "No such container: c2ada9df5af8" 5405 500: 5406 description: "server error" 5407 schema: 5408 $ref: "#/definitions/ErrorResponse" 5409 parameters: 5410 - name: "id" 5411 in: "path" 5412 required: true 5413 description: "ID or name of the container" 5414 type: "string" 5415 - name: "t" 5416 in: "query" 5417 description: "Number of seconds to wait before killing the container" 5418 type: "integer" 5419 tags: ["Container"] 5420 /containers/{id}/kill: 5421 post: 5422 summary: "Kill a container" 5423 description: "Send a POSIX signal to a container, defaulting to killing to the container." 5424 operationId: "ContainerKill" 5425 responses: 5426 204: 5427 description: "no error" 5428 404: 5429 description: "no such container" 5430 schema: 5431 $ref: "#/definitions/ErrorResponse" 5432 examples: 5433 application/json: 5434 message: "No such container: c2ada9df5af8" 5435 409: 5436 description: "container is not running" 5437 schema: 5438 $ref: "#/definitions/ErrorResponse" 5439 examples: 5440 application/json: 5441 message: "Container d37cde0fe4ad63c3a7252023b2f9800282894247d145cb5933ddf6e52cc03a28 is not running" 5442 500: 5443 description: "server error" 5444 schema: 5445 $ref: "#/definitions/ErrorResponse" 5446 parameters: 5447 - name: "id" 5448 in: "path" 5449 required: true 5450 description: "ID or name of the container" 5451 type: "string" 5452 - name: "signal" 5453 in: "query" 5454 description: "Signal to send to the container as an integer or string (e.g. `SIGINT`)" 5455 type: "string" 5456 default: "SIGKILL" 5457 tags: ["Container"] 5458 /containers/{id}/update: 5459 post: 5460 summary: "Update a container" 5461 description: "Change various configuration options of a container without having to recreate it." 5462 operationId: "ContainerUpdate" 5463 consumes: ["application/json"] 5464 produces: ["application/json"] 5465 responses: 5466 200: 5467 description: "The container has been updated." 5468 schema: 5469 type: "object" 5470 title: "ContainerUpdateResponse" 5471 description: "OK response to ContainerUpdate operation" 5472 properties: 5473 Warnings: 5474 type: "array" 5475 items: 5476 type: "string" 5477 404: 5478 description: "no such container" 5479 schema: 5480 $ref: "#/definitions/ErrorResponse" 5481 examples: 5482 application/json: 5483 message: "No such container: c2ada9df5af8" 5484 500: 5485 description: "server error" 5486 schema: 5487 $ref: "#/definitions/ErrorResponse" 5488 parameters: 5489 - name: "id" 5490 in: "path" 5491 required: true 5492 description: "ID or name of the container" 5493 type: "string" 5494 - name: "update" 5495 in: "body" 5496 required: true 5497 schema: 5498 allOf: 5499 - $ref: "#/definitions/Resources" 5500 - type: "object" 5501 properties: 5502 RestartPolicy: 5503 $ref: "#/definitions/RestartPolicy" 5504 example: 5505 BlkioWeight: 300 5506 CpuShares: 512 5507 CpuPeriod: 100000 5508 CpuQuota: 50000 5509 CpuRealtimePeriod: 1000000 5510 CpuRealtimeRuntime: 10000 5511 CpusetCpus: "0,1" 5512 CpusetMems: "0" 5513 Memory: 314572800 5514 MemorySwap: 514288000 5515 MemoryReservation: 209715200 5516 KernelMemory: 52428800 5517 RestartPolicy: 5518 MaximumRetryCount: 4 5519 Name: "on-failure" 5520 tags: ["Container"] 5521 /containers/{id}/rename: 5522 post: 5523 summary: "Rename a container" 5524 operationId: "ContainerRename" 5525 responses: 5526 204: 5527 description: "no error" 5528 404: 5529 description: "no such container" 5530 schema: 5531 $ref: "#/definitions/ErrorResponse" 5532 examples: 5533 application/json: 5534 message: "No such container: c2ada9df5af8" 5535 409: 5536 description: "name already in use" 5537 schema: 5538 $ref: "#/definitions/ErrorResponse" 5539 500: 5540 description: "server error" 5541 schema: 5542 $ref: "#/definitions/ErrorResponse" 5543 parameters: 5544 - name: "id" 5545 in: "path" 5546 required: true 5547 description: "ID or name of the container" 5548 type: "string" 5549 - name: "name" 5550 in: "query" 5551 required: true 5552 description: "New name for the container" 5553 type: "string" 5554 tags: ["Container"] 5555 /containers/{id}/pause: 5556 post: 5557 summary: "Pause a container" 5558 description: | 5559 Use the cgroups freezer to suspend all processes in a container. 5560 5561 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. 5562 operationId: "ContainerPause" 5563 responses: 5564 204: 5565 description: "no error" 5566 404: 5567 description: "no such container" 5568 schema: 5569 $ref: "#/definitions/ErrorResponse" 5570 examples: 5571 application/json: 5572 message: "No such container: c2ada9df5af8" 5573 500: 5574 description: "server error" 5575 schema: 5576 $ref: "#/definitions/ErrorResponse" 5577 parameters: 5578 - name: "id" 5579 in: "path" 5580 required: true 5581 description: "ID or name of the container" 5582 type: "string" 5583 tags: ["Container"] 5584 /containers/{id}/unpause: 5585 post: 5586 summary: "Unpause a container" 5587 description: "Resume a container which has been paused." 5588 operationId: "ContainerUnpause" 5589 responses: 5590 204: 5591 description: "no error" 5592 404: 5593 description: "no such container" 5594 schema: 5595 $ref: "#/definitions/ErrorResponse" 5596 examples: 5597 application/json: 5598 message: "No such container: c2ada9df5af8" 5599 500: 5600 description: "server error" 5601 schema: 5602 $ref: "#/definitions/ErrorResponse" 5603 parameters: 5604 - name: "id" 5605 in: "path" 5606 required: true 5607 description: "ID or name of the container" 5608 type: "string" 5609 tags: ["Container"] 5610 /containers/{id}/attach: 5611 post: 5612 summary: "Attach to a container" 5613 description: | 5614 Attach to a container to read its output or send it input. You can attach to the same container multiple times and you can reattach to containers that have been detached. 5615 5616 Either the `stream` or `logs` parameter must be `true` for this endpoint to do anything. 5617 5618 See [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details. 5619 5620 ### Hijacking 5621 5622 This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket. 5623 5624 This is the response from the daemon for an attach request: 5625 5626 ``` 5627 HTTP/1.1 200 OK 5628 Content-Type: application/vnd.docker.raw-stream 5629 5630 [STREAM] 5631 ``` 5632 5633 After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server. 5634 5635 To hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers. 5636 5637 For example, the client sends this request to upgrade the connection: 5638 5639 ``` 5640 POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1 5641 Upgrade: tcp 5642 Connection: Upgrade 5643 ``` 5644 5645 The Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream: 5646 5647 ``` 5648 HTTP/1.1 101 UPGRADED 5649 Content-Type: application/vnd.docker.raw-stream 5650 Connection: Upgrade 5651 Upgrade: tcp 5652 5653 [STREAM] 5654 ``` 5655 5656 ### Stream format 5657 5658 When the TTY setting is disabled in [`POST /containers/create`](#operation/ContainerCreate), the stream over the hijacked connected is multiplexed to separate out `stdout` and `stderr`. The stream consists of a series of frames, each containing a header and a payload. 5659 5660 The header contains the information which the stream writes (`stdout` or `stderr`). It also contains the size of the associated frame encoded in the last four bytes (`uint32`). 5661 5662 It is encoded on the first eight bytes like this: 5663 5664 ```go 5665 header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4} 5666 ``` 5667 5668 `STREAM_TYPE` can be: 5669 5670 - 0: `stdin` (is written on `stdout`) 5671 - 1: `stdout` 5672 - 2: `stderr` 5673 5674 `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian. 5675 5676 Following the header is the payload, which is the specified number of bytes of `STREAM_TYPE`. 5677 5678 The simplest way to implement this protocol is the following: 5679 5680 1. Read 8 bytes. 5681 2. Choose `stdout` or `stderr` depending on the first byte. 5682 3. Extract the frame size from the last four bytes. 5683 4. Read the extracted size and output it on the correct output. 5684 5. Goto 1. 5685 5686 ### Stream format when using a TTY 5687 5688 When the TTY setting is enabled in [`POST /containers/create`](#operation/ContainerCreate), the stream is not multiplexed. The data exchanged over the hijacked connection is simply the raw data from the process PTY and client's `stdin`. 5689 5690 operationId: "ContainerAttach" 5691 produces: 5692 - "application/vnd.docker.raw-stream" 5693 responses: 5694 101: 5695 description: "no error, hints proxy about hijacking" 5696 200: 5697 description: "no error, no upgrade header found" 5698 400: 5699 description: "bad parameter" 5700 schema: 5701 $ref: "#/definitions/ErrorResponse" 5702 404: 5703 description: "no such container" 5704 schema: 5705 $ref: "#/definitions/ErrorResponse" 5706 examples: 5707 application/json: 5708 message: "No such container: c2ada9df5af8" 5709 500: 5710 description: "server error" 5711 schema: 5712 $ref: "#/definitions/ErrorResponse" 5713 parameters: 5714 - name: "id" 5715 in: "path" 5716 required: true 5717 description: "ID or name of the container" 5718 type: "string" 5719 - name: "detachKeys" 5720 in: "query" 5721 description: "Override the key sequence for detaching a container.Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`." 5722 type: "string" 5723 - name: "logs" 5724 in: "query" 5725 description: | 5726 Replay previous logs from the container. 5727 5728 This is useful for attaching to a container that has started and you want to output everything since the container started. 5729 5730 If `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output. 5731 type: "boolean" 5732 default: false 5733 - name: "stream" 5734 in: "query" 5735 description: "Stream attached streams from the time the request was made onwards" 5736 type: "boolean" 5737 default: false 5738 - name: "stdin" 5739 in: "query" 5740 description: "Attach to `stdin`" 5741 type: "boolean" 5742 default: false 5743 - name: "stdout" 5744 in: "query" 5745 description: "Attach to `stdout`" 5746 type: "boolean" 5747 default: false 5748 - name: "stderr" 5749 in: "query" 5750 description: "Attach to `stderr`" 5751 type: "boolean" 5752 default: false 5753 tags: ["Container"] 5754 /containers/{id}/attach/ws: 5755 get: 5756 summary: "Attach to a container via a websocket" 5757 operationId: "ContainerAttachWebsocket" 5758 responses: 5759 101: 5760 description: "no error, hints proxy about hijacking" 5761 200: 5762 description: "no error, no upgrade header found" 5763 400: 5764 description: "bad parameter" 5765 schema: 5766 $ref: "#/definitions/ErrorResponse" 5767 404: 5768 description: "no such container" 5769 schema: 5770 $ref: "#/definitions/ErrorResponse" 5771 examples: 5772 application/json: 5773 message: "No such container: c2ada9df5af8" 5774 500: 5775 description: "server error" 5776 schema: 5777 $ref: "#/definitions/ErrorResponse" 5778 parameters: 5779 - name: "id" 5780 in: "path" 5781 required: true 5782 description: "ID or name of the container" 5783 type: "string" 5784 - name: "detachKeys" 5785 in: "query" 5786 description: "Override the key sequence for detaching a container.Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,`, or `_`." 5787 type: "string" 5788 - name: "logs" 5789 in: "query" 5790 description: "Return logs" 5791 type: "boolean" 5792 default: false 5793 - name: "stream" 5794 in: "query" 5795 description: "Return stream" 5796 type: "boolean" 5797 default: false 5798 - name: "stdin" 5799 in: "query" 5800 description: "Attach to `stdin`" 5801 type: "boolean" 5802 default: false 5803 - name: "stdout" 5804 in: "query" 5805 description: "Attach to `stdout`" 5806 type: "boolean" 5807 default: false 5808 - name: "stderr" 5809 in: "query" 5810 description: "Attach to `stderr`" 5811 type: "boolean" 5812 default: false 5813 tags: ["Container"] 5814 /containers/{id}/wait: 5815 post: 5816 summary: "Wait for a container" 5817 description: "Block until a container stops, then returns the exit code." 5818 operationId: "ContainerWait" 5819 produces: ["application/json"] 5820 responses: 5821 200: 5822 description: "The container has exit." 5823 schema: 5824 type: "object" 5825 title: "ContainerWaitResponse" 5826 description: "OK response to ContainerWait operation" 5827 required: [StatusCode] 5828 properties: 5829 StatusCode: 5830 description: "Exit code of the container" 5831 type: "integer" 5832 x-nullable: false 5833 Error: 5834 description: "container waiting error, if any" 5835 type: "object" 5836 properties: 5837 Message: 5838 description: "Details of an error" 5839 type: "string" 5840 404: 5841 description: "no such container" 5842 schema: 5843 $ref: "#/definitions/ErrorResponse" 5844 examples: 5845 application/json: 5846 message: "No such container: c2ada9df5af8" 5847 500: 5848 description: "server error" 5849 schema: 5850 $ref: "#/definitions/ErrorResponse" 5851 parameters: 5852 - name: "id" 5853 in: "path" 5854 required: true 5855 description: "ID or name of the container" 5856 type: "string" 5857 - name: "condition" 5858 in: "query" 5859 description: "Wait until a container state reaches the given condition, either 'not-running' (default), 'next-exit', or 'removed'." 5860 type: "string" 5861 default: "not-running" 5862 tags: ["Container"] 5863 /containers/{id}: 5864 delete: 5865 summary: "Remove a container" 5866 operationId: "ContainerDelete" 5867 responses: 5868 204: 5869 description: "no error" 5870 400: 5871 description: "bad parameter" 5872 schema: 5873 $ref: "#/definitions/ErrorResponse" 5874 404: 5875 description: "no such container" 5876 schema: 5877 $ref: "#/definitions/ErrorResponse" 5878 examples: 5879 application/json: 5880 message: "No such container: c2ada9df5af8" 5881 409: 5882 description: "conflict" 5883 schema: 5884 $ref: "#/definitions/ErrorResponse" 5885 examples: 5886 application/json: 5887 message: "You cannot remove a running container: c2ada9df5af8. Stop the container before attempting removal or force remove" 5888 500: 5889 description: "server error" 5890 schema: 5891 $ref: "#/definitions/ErrorResponse" 5892 parameters: 5893 - name: "id" 5894 in: "path" 5895 required: true 5896 description: "ID or name of the container" 5897 type: "string" 5898 - name: "v" 5899 in: "query" 5900 description: "Remove anonymous volumes associated with the container." 5901 type: "boolean" 5902 default: false 5903 - name: "force" 5904 in: "query" 5905 description: "If the container is running, kill it before removing it." 5906 type: "boolean" 5907 default: false 5908 - name: "link" 5909 in: "query" 5910 description: "Remove the specified link associated with the container." 5911 type: "boolean" 5912 default: false 5913 tags: ["Container"] 5914 /containers/{id}/archive: 5915 head: 5916 summary: "Get information about files in a container" 5917 description: "A response header `X-Docker-Container-Path-Stat` is return containing a base64 - encoded JSON object with some filesystem header information about the path." 5918 operationId: "ContainerArchiveInfo" 5919 responses: 5920 200: 5921 description: "no error" 5922 headers: 5923 X-Docker-Container-Path-Stat: 5924 type: "string" 5925 description: "TODO" 5926 400: 5927 description: "Bad parameter" 5928 schema: 5929 allOf: 5930 - $ref: "#/definitions/ErrorResponse" 5931 - type: "object" 5932 properties: 5933 message: 5934 description: "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file)." 5935 type: "string" 5936 x-nullable: false 5937 404: 5938 description: "Container or path does not exist" 5939 schema: 5940 $ref: "#/definitions/ErrorResponse" 5941 examples: 5942 application/json: 5943 message: "No such container: c2ada9df5af8" 5944 500: 5945 description: "Server error" 5946 schema: 5947 $ref: "#/definitions/ErrorResponse" 5948 parameters: 5949 - name: "id" 5950 in: "path" 5951 required: true 5952 description: "ID or name of the container" 5953 type: "string" 5954 - name: "path" 5955 in: "query" 5956 required: true 5957 description: "Resource in the container’s filesystem to archive." 5958 type: "string" 5959 tags: ["Container"] 5960 get: 5961 summary: "Get an archive of a filesystem resource in a container" 5962 description: "Get a tar archive of a resource in the filesystem of container id." 5963 operationId: "ContainerArchive" 5964 produces: ["application/x-tar"] 5965 responses: 5966 200: 5967 description: "no error" 5968 400: 5969 description: "Bad parameter" 5970 schema: 5971 allOf: 5972 - $ref: "#/definitions/ErrorResponse" 5973 - type: "object" 5974 properties: 5975 message: 5976 description: "The error message. Either \"must specify path parameter\" (path cannot be empty) or \"not a directory\" (path was asserted to be a directory but exists as a file)." 5977 type: "string" 5978 x-nullable: false 5979 404: 5980 description: "Container or path does not exist" 5981 schema: 5982 $ref: "#/definitions/ErrorResponse" 5983 examples: 5984 application/json: 5985 message: "No such container: c2ada9df5af8" 5986 500: 5987 description: "server error" 5988 schema: 5989 $ref: "#/definitions/ErrorResponse" 5990 parameters: 5991 - name: "id" 5992 in: "path" 5993 required: true 5994 description: "ID or name of the container" 5995 type: "string" 5996 - name: "path" 5997 in: "query" 5998 required: true 5999 description: "Resource in the container’s filesystem to archive." 6000 type: "string" 6001 tags: ["Container"] 6002 put: 6003 summary: "Extract an archive of files or folders to a directory in a container" 6004 description: "Upload a tar archive to be extracted to a path in the filesystem of container id." 6005 operationId: "PutContainerArchive" 6006 consumes: ["application/x-tar", "application/octet-stream"] 6007 responses: 6008 200: 6009 description: "The content was extracted successfully" 6010 400: 6011 description: "Bad parameter" 6012 schema: 6013 $ref: "#/definitions/ErrorResponse" 6014 403: 6015 description: "Permission denied, the volume or container rootfs is marked as read-only." 6016 schema: 6017 $ref: "#/definitions/ErrorResponse" 6018 404: 6019 description: "No such container or path does not exist inside the container" 6020 schema: 6021 $ref: "#/definitions/ErrorResponse" 6022 examples: 6023 application/json: 6024 message: "No such container: c2ada9df5af8" 6025 500: 6026 description: "Server error" 6027 schema: 6028 $ref: "#/definitions/ErrorResponse" 6029 parameters: 6030 - name: "id" 6031 in: "path" 6032 required: true 6033 description: "ID or name of the container" 6034 type: "string" 6035 - name: "path" 6036 in: "query" 6037 required: true 6038 description: "Path to a directory in the container to extract the archive’s contents into. " 6039 type: "string" 6040 - name: "noOverwriteDirNonDir" 6041 in: "query" 6042 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." 6043 type: "string" 6044 - name: "inputStream" 6045 in: "body" 6046 required: true 6047 description: "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz." 6048 schema: 6049 type: "string" 6050 tags: ["Container"] 6051 /containers/prune: 6052 post: 6053 summary: "Delete stopped containers" 6054 produces: 6055 - "application/json" 6056 operationId: "ContainerPrune" 6057 parameters: 6058 - name: "filters" 6059 in: "query" 6060 description: | 6061 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 6062 6063 Available filters: 6064 - `until=<timestamp>` Prune containers created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. 6065 - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune containers with (or without, in case `label!=...` is used) the specified labels. 6066 type: "string" 6067 responses: 6068 200: 6069 description: "No error" 6070 schema: 6071 type: "object" 6072 title: "ContainerPruneResponse" 6073 properties: 6074 ContainersDeleted: 6075 description: "Container IDs that were deleted" 6076 type: "array" 6077 items: 6078 type: "string" 6079 SpaceReclaimed: 6080 description: "Disk space reclaimed in bytes" 6081 type: "integer" 6082 format: "int64" 6083 500: 6084 description: "Server error" 6085 schema: 6086 $ref: "#/definitions/ErrorResponse" 6087 tags: ["Container"] 6088 /images/json: 6089 get: 6090 summary: "List Images" 6091 description: "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image." 6092 operationId: "ImageList" 6093 produces: 6094 - "application/json" 6095 responses: 6096 200: 6097 description: "Summary image data for the images matching the query" 6098 schema: 6099 type: "array" 6100 items: 6101 $ref: "#/definitions/ImageSummary" 6102 examples: 6103 application/json: 6104 - Id: "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" 6105 ParentId: "" 6106 RepoTags: 6107 - "ubuntu:12.04" 6108 - "ubuntu:precise" 6109 RepoDigests: 6110 - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787" 6111 Created: 1474925151 6112 Size: 103579269 6113 VirtualSize: 103579269 6114 SharedSize: 0 6115 Labels: {} 6116 Containers: 2 6117 - Id: "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175" 6118 ParentId: "" 6119 RepoTags: 6120 - "ubuntu:12.10" 6121 - "ubuntu:quantal" 6122 RepoDigests: 6123 - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7" 6124 - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3" 6125 Created: 1403128455 6126 Size: 172064416 6127 VirtualSize: 172064416 6128 SharedSize: 0 6129 Labels: {} 6130 Containers: 5 6131 500: 6132 description: "server error" 6133 schema: 6134 $ref: "#/definitions/ErrorResponse" 6135 parameters: 6136 - name: "all" 6137 in: "query" 6138 description: "Show all images. Only images from a final layer (no children) are shown by default." 6139 type: "boolean" 6140 default: false 6141 - name: "filters" 6142 in: "query" 6143 description: | 6144 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: 6145 6146 - `before`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`) 6147 - `dangling=true` 6148 - `label=key` or `label="key=value"` of an image label 6149 - `reference`=(`<image-name>[:<tag>]`) 6150 - `since`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`) 6151 type: "string" 6152 - name: "digests" 6153 in: "query" 6154 description: "Show digest information as a `RepoDigests` field on each image." 6155 type: "boolean" 6156 default: false 6157 tags: ["Image"] 6158 /build: 6159 post: 6160 summary: "Build an image" 6161 description: | 6162 Build an image from a tar archive with a `Dockerfile` in it. 6163 6164 The `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/). 6165 6166 The Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output. 6167 6168 The build is canceled if the client drops the connection by quitting or being killed. 6169 operationId: "ImageBuild" 6170 consumes: 6171 - "application/octet-stream" 6172 produces: 6173 - "application/json" 6174 parameters: 6175 - name: "inputStream" 6176 in: "body" 6177 description: "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz." 6178 schema: 6179 type: "string" 6180 format: "binary" 6181 - name: "dockerfile" 6182 in: "query" 6183 description: "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`." 6184 type: "string" 6185 default: "Dockerfile" 6186 - name: "t" 6187 in: "query" 6188 description: "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters." 6189 type: "string" 6190 - name: "extrahosts" 6191 in: "query" 6192 description: "Extra hosts to add to /etc/hosts" 6193 type: "string" 6194 - name: "remote" 6195 in: "query" 6196 description: "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball." 6197 type: "string" 6198 - name: "q" 6199 in: "query" 6200 description: "Suppress verbose build output." 6201 type: "boolean" 6202 default: false 6203 - name: "nocache" 6204 in: "query" 6205 description: "Do not use the cache when building the image." 6206 type: "boolean" 6207 default: false 6208 - name: "cachefrom" 6209 in: "query" 6210 description: "JSON array of images used for build cache resolution." 6211 type: "string" 6212 - name: "pull" 6213 in: "query" 6214 description: "Attempt to pull the image even if an older image exists locally." 6215 type: "string" 6216 - name: "rm" 6217 in: "query" 6218 description: "Remove intermediate containers after a successful build." 6219 type: "boolean" 6220 default: true 6221 - name: "forcerm" 6222 in: "query" 6223 description: "Always remove intermediate containers, even upon failure." 6224 type: "boolean" 6225 default: false 6226 - name: "memory" 6227 in: "query" 6228 description: "Set memory limit for build." 6229 type: "integer" 6230 - name: "memswap" 6231 in: "query" 6232 description: "Total memory (memory + swap). Set as `-1` to disable swap." 6233 type: "integer" 6234 - name: "cpushares" 6235 in: "query" 6236 description: "CPU shares (relative weight)." 6237 type: "integer" 6238 - name: "cpusetcpus" 6239 in: "query" 6240 description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)." 6241 type: "string" 6242 - name: "cpuperiod" 6243 in: "query" 6244 description: "The length of a CPU period in microseconds." 6245 type: "integer" 6246 - name: "cpuquota" 6247 in: "query" 6248 description: "Microseconds of CPU time that the container can get in a CPU period." 6249 type: "integer" 6250 - name: "buildargs" 6251 in: "query" 6252 description: > 6253 JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker 6254 uses the buildargs as the environment context for commands run via the `Dockerfile` RUN 6255 instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for 6256 passing secret values. 6257 6258 6259 For example, the build arg `FOO=bar` would become `{"FOO":"bar"}` in JSON. This would result in the 6260 query parameter `buildargs={"FOO":"bar"}`. Note that `{"FOO":"bar"}` should be URI component encoded. 6261 6262 6263 [Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg) 6264 type: "string" 6265 - name: "shmsize" 6266 in: "query" 6267 description: "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB." 6268 type: "integer" 6269 - name: "squash" 6270 in: "query" 6271 description: "Squash the resulting images layers into a single layer. *(Experimental release only.)*" 6272 type: "boolean" 6273 - name: "labels" 6274 in: "query" 6275 description: "Arbitrary key/value labels to set on the image, as a JSON map of string pairs." 6276 type: "string" 6277 - name: "networkmode" 6278 in: "query" 6279 description: "Sets the networking mode for the run commands during 6280 build. Supported standard values are: `bridge`, `host`, `none`, and 6281 `container:<name|id>`. Any other value is taken as a custom network's 6282 name to which this container should connect to." 6283 type: "string" 6284 - name: "Content-type" 6285 in: "header" 6286 type: "string" 6287 enum: 6288 - "application/x-tar" 6289 default: "application/x-tar" 6290 - name: "X-Registry-Config" 6291 in: "header" 6292 description: | 6293 This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to. 6294 6295 The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example: 6296 6297 ``` 6298 { 6299 "docker.example.com": { 6300 "username": "janedoe", 6301 "password": "hunter2" 6302 }, 6303 "https://index.docker.io/v1/": { 6304 "username": "mobydock", 6305 "password": "conta1n3rize14" 6306 } 6307 } 6308 ``` 6309 6310 Only the registry domain name (and port if not the default 443) are required. However, for legacy reasons, the Docker Hub registry must be specified with both a `https://` prefix and a `/v1/` suffix even though Docker will prefer to use the v2 registry API. 6311 type: "string" 6312 - name: "platform" 6313 in: "query" 6314 description: "Platform in the format os[/arch[/variant]]" 6315 type: "string" 6316 default: "" 6317 - name: "target" 6318 in: "query" 6319 description: "Target build stage" 6320 type: "string" 6321 default: "" 6322 responses: 6323 200: 6324 description: "no error" 6325 400: 6326 description: "Bad parameter" 6327 schema: 6328 $ref: "#/definitions/ErrorResponse" 6329 500: 6330 description: "server error" 6331 schema: 6332 $ref: "#/definitions/ErrorResponse" 6333 tags: ["Image"] 6334 /build/prune: 6335 post: 6336 summary: "Delete builder cache" 6337 produces: 6338 - "application/json" 6339 operationId: "BuildPrune" 6340 responses: 6341 200: 6342 description: "No error" 6343 schema: 6344 type: "object" 6345 title: "BuildPruneResponse" 6346 properties: 6347 SpaceReclaimed: 6348 description: "Disk space reclaimed in bytes" 6349 type: "integer" 6350 format: "int64" 6351 500: 6352 description: "Server error" 6353 schema: 6354 $ref: "#/definitions/ErrorResponse" 6355 tags: ["Image"] 6356 /images/create: 6357 post: 6358 summary: "Create an image" 6359 description: "Create an image by either pulling it from a registry or importing it." 6360 operationId: "ImageCreate" 6361 consumes: 6362 - "text/plain" 6363 - "application/octet-stream" 6364 produces: 6365 - "application/json" 6366 responses: 6367 200: 6368 description: "no error" 6369 404: 6370 description: "repository does not exist or no read access" 6371 schema: 6372 $ref: "#/definitions/ErrorResponse" 6373 500: 6374 description: "server error" 6375 schema: 6376 $ref: "#/definitions/ErrorResponse" 6377 parameters: 6378 - name: "fromImage" 6379 in: "query" 6380 description: "Name of the image to pull. The name may include a tag or digest. This parameter may only be used when pulling an image. The pull is cancelled if the HTTP connection is closed." 6381 type: "string" 6382 - name: "fromSrc" 6383 in: "query" 6384 description: "Source to import. The value may be a URL from which the image can be retrieved or `-` to read the image from the request body. This parameter may only be used when importing an image." 6385 type: "string" 6386 - name: "repo" 6387 in: "query" 6388 description: "Repository name given to an image when it is imported. The repo may include a tag. This parameter may only be used when importing an image." 6389 type: "string" 6390 - name: "tag" 6391 in: "query" 6392 description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled." 6393 type: "string" 6394 - name: "inputImage" 6395 in: "body" 6396 description: "Image content if the value `-` has been specified in fromSrc query parameter" 6397 schema: 6398 type: "string" 6399 required: false 6400 - name: "X-Registry-Auth" 6401 in: "header" 6402 description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)" 6403 type: "string" 6404 - name: "platform" 6405 in: "query" 6406 description: "Platform in the format os[/arch[/variant]]" 6407 type: "string" 6408 default: "" 6409 tags: ["Image"] 6410 /images/{name}/json: 6411 get: 6412 summary: "Inspect an image" 6413 description: "Return low-level information about an image." 6414 operationId: "ImageInspect" 6415 produces: 6416 - "application/json" 6417 responses: 6418 200: 6419 description: "No error" 6420 schema: 6421 $ref: "#/definitions/Image" 6422 examples: 6423 application/json: 6424 Id: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" 6425 Container: "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a" 6426 Comment: "" 6427 Os: "linux" 6428 Architecture: "amd64" 6429 Parent: "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 6430 ContainerConfig: 6431 Tty: false 6432 Hostname: "e611e15f9c9d" 6433 Domainname: "" 6434 AttachStdout: false 6435 PublishService: "" 6436 AttachStdin: false 6437 OpenStdin: false 6438 StdinOnce: false 6439 NetworkDisabled: false 6440 OnBuild: [] 6441 Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 6442 User: "" 6443 WorkingDir: "" 6444 MacAddress: "" 6445 AttachStderr: false 6446 Labels: 6447 com.example.license: "GPL" 6448 com.example.version: "1.0" 6449 com.example.vendor: "Acme" 6450 Env: 6451 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 6452 Cmd: 6453 - "/bin/sh" 6454 - "-c" 6455 - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0" 6456 DockerVersion: "1.9.0-dev" 6457 VirtualSize: 188359297 6458 Size: 0 6459 Author: "" 6460 Created: "2015-09-10T08:30:53.26995814Z" 6461 GraphDriver: 6462 Name: "aufs" 6463 Data: {} 6464 RepoDigests: 6465 - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf" 6466 RepoTags: 6467 - "example:1.0" 6468 - "example:latest" 6469 - "example:stable" 6470 Config: 6471 Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 6472 NetworkDisabled: false 6473 OnBuild: [] 6474 StdinOnce: false 6475 PublishService: "" 6476 AttachStdin: false 6477 OpenStdin: false 6478 Domainname: "" 6479 AttachStdout: false 6480 Tty: false 6481 Hostname: "e611e15f9c9d" 6482 Cmd: 6483 - "/bin/bash" 6484 Env: 6485 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 6486 Labels: 6487 com.example.vendor: "Acme" 6488 com.example.version: "1.0" 6489 com.example.license: "GPL" 6490 MacAddress: "" 6491 AttachStderr: false 6492 WorkingDir: "" 6493 User: "" 6494 RootFS: 6495 Type: "layers" 6496 Layers: 6497 - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6" 6498 - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" 6499 404: 6500 description: "No such image" 6501 schema: 6502 $ref: "#/definitions/ErrorResponse" 6503 examples: 6504 application/json: 6505 message: "No such image: someimage (tag: latest)" 6506 500: 6507 description: "Server error" 6508 schema: 6509 $ref: "#/definitions/ErrorResponse" 6510 parameters: 6511 - name: "name" 6512 in: "path" 6513 description: "Image name or id" 6514 type: "string" 6515 required: true 6516 tags: ["Image"] 6517 /images/{name}/history: 6518 get: 6519 summary: "Get the history of an image" 6520 description: "Return parent layers of an image." 6521 operationId: "ImageHistory" 6522 produces: ["application/json"] 6523 responses: 6524 200: 6525 description: "List of image layers" 6526 schema: 6527 type: "array" 6528 items: 6529 type: "object" 6530 x-go-name: HistoryResponseItem 6531 title: "HistoryResponseItem" 6532 description: "individual image layer information in response to ImageHistory operation" 6533 required: [Id, Created, CreatedBy, Tags, Size, Comment] 6534 properties: 6535 Id: 6536 type: "string" 6537 x-nullable: false 6538 Created: 6539 type: "integer" 6540 format: "int64" 6541 x-nullable: false 6542 CreatedBy: 6543 type: "string" 6544 x-nullable: false 6545 Tags: 6546 type: "array" 6547 items: 6548 type: "string" 6549 Size: 6550 type: "integer" 6551 format: "int64" 6552 x-nullable: false 6553 Comment: 6554 type: "string" 6555 x-nullable: false 6556 examples: 6557 application/json: 6558 - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710" 6559 Created: 1398108230 6560 CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /" 6561 Tags: 6562 - "ubuntu:lucid" 6563 - "ubuntu:10.04" 6564 Size: 182964289 6565 Comment: "" 6566 - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8" 6567 Created: 1398108222 6568 CreatedBy: "/bin/sh -c #(nop) MAINTAINER Tianon Gravi <admwiggin@gmail.com> - mkimage-debootstrap.sh -i iproute,iputils-ping,ubuntu-minimal -t lucid.tar.xz lucid http://archive.ubuntu.com/ubuntu/" 6569 Tags: [] 6570 Size: 0 6571 Comment: "" 6572 - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158" 6573 Created: 1371157430 6574 CreatedBy: "" 6575 Tags: 6576 - "scratch12:latest" 6577 - "scratch:latest" 6578 Size: 0 6579 Comment: "Imported from -" 6580 404: 6581 description: "No such image" 6582 schema: 6583 $ref: "#/definitions/ErrorResponse" 6584 500: 6585 description: "Server error" 6586 schema: 6587 $ref: "#/definitions/ErrorResponse" 6588 parameters: 6589 - name: "name" 6590 in: "path" 6591 description: "Image name or ID" 6592 type: "string" 6593 required: true 6594 tags: ["Image"] 6595 /images/{name}/push: 6596 post: 6597 summary: "Push an image" 6598 description: | 6599 Push an image to a registry. 6600 6601 If you wish to push an image on to a private registry, that image must already have a tag which references the registry. For example, `registry.example.com/myimage:latest`. 6602 6603 The push is cancelled if the HTTP connection is closed. 6604 operationId: "ImagePush" 6605 consumes: 6606 - "application/octet-stream" 6607 responses: 6608 200: 6609 description: "No error" 6610 404: 6611 description: "No such image" 6612 schema: 6613 $ref: "#/definitions/ErrorResponse" 6614 500: 6615 description: "Server error" 6616 schema: 6617 $ref: "#/definitions/ErrorResponse" 6618 parameters: 6619 - name: "name" 6620 in: "path" 6621 description: "Image name or ID." 6622 type: "string" 6623 required: true 6624 - name: "tag" 6625 in: "query" 6626 description: "The tag to associate with the image on the registry." 6627 type: "string" 6628 - name: "X-Registry-Auth" 6629 in: "header" 6630 description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)" 6631 type: "string" 6632 required: true 6633 tags: ["Image"] 6634 /images/{name}/tag: 6635 post: 6636 summary: "Tag an image" 6637 description: "Tag an image so that it becomes part of a repository." 6638 operationId: "ImageTag" 6639 responses: 6640 201: 6641 description: "No error" 6642 400: 6643 description: "Bad parameter" 6644 schema: 6645 $ref: "#/definitions/ErrorResponse" 6646 404: 6647 description: "No such image" 6648 schema: 6649 $ref: "#/definitions/ErrorResponse" 6650 409: 6651 description: "Conflict" 6652 schema: 6653 $ref: "#/definitions/ErrorResponse" 6654 500: 6655 description: "Server error" 6656 schema: 6657 $ref: "#/definitions/ErrorResponse" 6658 parameters: 6659 - name: "name" 6660 in: "path" 6661 description: "Image name or ID to tag." 6662 type: "string" 6663 required: true 6664 - name: "repo" 6665 in: "query" 6666 description: "The repository to tag in. For example, `someuser/someimage`." 6667 type: "string" 6668 - name: "tag" 6669 in: "query" 6670 description: "The name of the new tag." 6671 type: "string" 6672 tags: ["Image"] 6673 /images/{name}: 6674 delete: 6675 summary: "Remove an image" 6676 description: | 6677 Remove an image, along with any untagged parent images that were 6678 referenced by that image. 6679 6680 Images can't be removed if they have descendant images, are being 6681 used by a running container or are being used by a build. 6682 operationId: "ImageDelete" 6683 produces: ["application/json"] 6684 responses: 6685 200: 6686 description: "The image was deleted successfully" 6687 schema: 6688 type: "array" 6689 items: 6690 $ref: "#/definitions/ImageDeleteResponseItem" 6691 examples: 6692 application/json: 6693 - Untagged: "3e2f21a89f" 6694 - Deleted: "3e2f21a89f" 6695 - Deleted: "53b4f83ac9" 6696 404: 6697 description: "No such image" 6698 schema: 6699 $ref: "#/definitions/ErrorResponse" 6700 409: 6701 description: "Conflict" 6702 schema: 6703 $ref: "#/definitions/ErrorResponse" 6704 500: 6705 description: "Server error" 6706 schema: 6707 $ref: "#/definitions/ErrorResponse" 6708 parameters: 6709 - name: "name" 6710 in: "path" 6711 description: "Image name or ID" 6712 type: "string" 6713 required: true 6714 - name: "force" 6715 in: "query" 6716 description: "Remove the image even if it is being used by stopped containers or has other tags" 6717 type: "boolean" 6718 default: false 6719 - name: "noprune" 6720 in: "query" 6721 description: "Do not delete untagged parent images" 6722 type: "boolean" 6723 default: false 6724 tags: ["Image"] 6725 /images/search: 6726 get: 6727 summary: "Search images" 6728 description: "Search for an image on Docker Hub." 6729 operationId: "ImageSearch" 6730 produces: 6731 - "application/json" 6732 responses: 6733 200: 6734 description: "No error" 6735 schema: 6736 type: "array" 6737 items: 6738 type: "object" 6739 title: "ImageSearchResponseItem" 6740 properties: 6741 description: 6742 type: "string" 6743 is_official: 6744 type: "boolean" 6745 is_automated: 6746 type: "boolean" 6747 name: 6748 type: "string" 6749 star_count: 6750 type: "integer" 6751 examples: 6752 application/json: 6753 - description: "" 6754 is_official: false 6755 is_automated: false 6756 name: "wma55/u1210sshd" 6757 star_count: 0 6758 - description: "" 6759 is_official: false 6760 is_automated: false 6761 name: "jdswinbank/sshd" 6762 star_count: 0 6763 - description: "" 6764 is_official: false 6765 is_automated: false 6766 name: "vgauthier/sshd" 6767 star_count: 0 6768 500: 6769 description: "Server error" 6770 schema: 6771 $ref: "#/definitions/ErrorResponse" 6772 parameters: 6773 - name: "term" 6774 in: "query" 6775 description: "Term to search" 6776 type: "string" 6777 required: true 6778 - name: "limit" 6779 in: "query" 6780 description: "Maximum number of results to return" 6781 type: "integer" 6782 - name: "filters" 6783 in: "query" 6784 description: | 6785 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: 6786 6787 - `is-automated=(true|false)` 6788 - `is-official=(true|false)` 6789 - `stars=<number>` Matches images that has at least 'number' stars. 6790 type: "string" 6791 tags: ["Image"] 6792 /images/prune: 6793 post: 6794 summary: "Delete unused images" 6795 produces: 6796 - "application/json" 6797 operationId: "ImagePrune" 6798 parameters: 6799 - name: "filters" 6800 in: "query" 6801 description: | 6802 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: 6803 6804 - `dangling=<boolean>` When set to `true` (or `1`), prune only 6805 unused *and* untagged images. When set to `false` 6806 (or `0`), all unused images are pruned. 6807 - `until=<string>` Prune images created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. 6808 - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune images with (or without, in case `label!=...` is used) the specified labels. 6809 type: "string" 6810 responses: 6811 200: 6812 description: "No error" 6813 schema: 6814 type: "object" 6815 title: "ImagePruneResponse" 6816 properties: 6817 ImagesDeleted: 6818 description: "Images that were deleted" 6819 type: "array" 6820 items: 6821 $ref: "#/definitions/ImageDeleteResponseItem" 6822 SpaceReclaimed: 6823 description: "Disk space reclaimed in bytes" 6824 type: "integer" 6825 format: "int64" 6826 500: 6827 description: "Server error" 6828 schema: 6829 $ref: "#/definitions/ErrorResponse" 6830 tags: ["Image"] 6831 /auth: 6832 post: 6833 summary: "Check auth configuration" 6834 description: "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password." 6835 operationId: "SystemAuth" 6836 consumes: ["application/json"] 6837 produces: ["application/json"] 6838 responses: 6839 200: 6840 description: "An identity token was generated successfully." 6841 schema: 6842 type: "object" 6843 title: "SystemAuthResponse" 6844 required: [Status] 6845 properties: 6846 Status: 6847 description: "The status of the authentication" 6848 type: "string" 6849 x-nullable: false 6850 IdentityToken: 6851 description: "An opaque token used to authenticate a user after a successful login" 6852 type: "string" 6853 x-nullable: false 6854 examples: 6855 application/json: 6856 Status: "Login Succeeded" 6857 IdentityToken: "9cbaf023786cd7..." 6858 204: 6859 description: "No error" 6860 500: 6861 description: "Server error" 6862 schema: 6863 $ref: "#/definitions/ErrorResponse" 6864 parameters: 6865 - name: "authConfig" 6866 in: "body" 6867 description: "Authentication to check" 6868 schema: 6869 $ref: "#/definitions/AuthConfig" 6870 tags: ["System"] 6871 /info: 6872 get: 6873 summary: "Get system information" 6874 operationId: "SystemInfo" 6875 produces: 6876 - "application/json" 6877 responses: 6878 200: 6879 description: "No error" 6880 schema: 6881 $ref: "#/definitions/SystemInfo" 6882 500: 6883 description: "Server error" 6884 schema: 6885 $ref: "#/definitions/ErrorResponse" 6886 tags: ["System"] 6887 /version: 6888 get: 6889 summary: "Get version" 6890 description: "Returns the version of Docker that is running and various information about the system that Docker is running on." 6891 operationId: "SystemVersion" 6892 produces: ["application/json"] 6893 responses: 6894 200: 6895 description: "no error" 6896 schema: 6897 type: "object" 6898 title: "SystemVersionResponse" 6899 properties: 6900 Platform: 6901 type: "object" 6902 required: [Name] 6903 properties: 6904 Name: 6905 type: "string" 6906 Components: 6907 type: "array" 6908 items: 6909 type: "object" 6910 x-go-name: ComponentVersion 6911 required: [Name, Version] 6912 properties: 6913 Name: 6914 type: "string" 6915 Version: 6916 type: "string" 6917 x-nullable: false 6918 Details: 6919 type: "object" 6920 x-nullable: true 6921 6922 Version: 6923 type: "string" 6924 ApiVersion: 6925 type: "string" 6926 MinAPIVersion: 6927 type: "string" 6928 GitCommit: 6929 type: "string" 6930 GoVersion: 6931 type: "string" 6932 Os: 6933 type: "string" 6934 Arch: 6935 type: "string" 6936 KernelVersion: 6937 type: "string" 6938 Experimental: 6939 type: "boolean" 6940 BuildTime: 6941 type: "string" 6942 examples: 6943 application/json: 6944 Version: "17.04.0" 6945 Os: "linux" 6946 KernelVersion: "3.19.0-23-generic" 6947 GoVersion: "go1.7.5" 6948 GitCommit: "deadbee" 6949 Arch: "amd64" 6950 ApiVersion: "1.27" 6951 MinAPIVersion: "1.12" 6952 BuildTime: "2016-06-14T07:09:13.444803460+00:00" 6953 Experimental: true 6954 500: 6955 description: "server error" 6956 schema: 6957 $ref: "#/definitions/ErrorResponse" 6958 tags: ["System"] 6959 /_ping: 6960 get: 6961 summary: "Ping" 6962 description: "This is a dummy endpoint you can use to test if the server is accessible." 6963 operationId: "SystemPing" 6964 produces: ["text/plain"] 6965 responses: 6966 200: 6967 description: "no error" 6968 schema: 6969 type: "string" 6970 example: "OK" 6971 headers: 6972 API-Version: 6973 type: "string" 6974 description: "Max API Version the server supports" 6975 Docker-Experimental: 6976 type: "boolean" 6977 description: "If the server is running with experimental mode enabled" 6978 500: 6979 description: "server error" 6980 schema: 6981 $ref: "#/definitions/ErrorResponse" 6982 tags: ["System"] 6983 /commit: 6984 post: 6985 summary: "Create a new image from a container" 6986 operationId: "ImageCommit" 6987 consumes: 6988 - "application/json" 6989 produces: 6990 - "application/json" 6991 responses: 6992 201: 6993 description: "no error" 6994 schema: 6995 $ref: "#/definitions/IdResponse" 6996 404: 6997 description: "no such container" 6998 schema: 6999 $ref: "#/definitions/ErrorResponse" 7000 examples: 7001 application/json: 7002 message: "No such container: c2ada9df5af8" 7003 500: 7004 description: "server error" 7005 schema: 7006 $ref: "#/definitions/ErrorResponse" 7007 parameters: 7008 - name: "containerConfig" 7009 in: "body" 7010 description: "The container configuration" 7011 schema: 7012 $ref: "#/definitions/ContainerConfig" 7013 - name: "container" 7014 in: "query" 7015 description: "The ID or name of the container to commit" 7016 type: "string" 7017 - name: "repo" 7018 in: "query" 7019 description: "Repository name for the created image" 7020 type: "string" 7021 - name: "tag" 7022 in: "query" 7023 description: "Tag name for the create image" 7024 type: "string" 7025 - name: "comment" 7026 in: "query" 7027 description: "Commit message" 7028 type: "string" 7029 - name: "author" 7030 in: "query" 7031 description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)" 7032 type: "string" 7033 - name: "pause" 7034 in: "query" 7035 description: "Whether to pause the container before committing" 7036 type: "boolean" 7037 default: true 7038 - name: "changes" 7039 in: "query" 7040 description: "`Dockerfile` instructions to apply while committing" 7041 type: "string" 7042 tags: ["Image"] 7043 /events: 7044 get: 7045 summary: "Monitor events" 7046 description: | 7047 Stream real-time events from the server. 7048 7049 Various objects within Docker report events when something happens to them. 7050 7051 Containers report these events: `attach`, `commit`, `copy`, `create`, `destroy`, `detach`, `die`, `exec_create`, `exec_detach`, `exec_start`, `exec_die`, `export`, `health_status`, `kill`, `oom`, `pause`, `rename`, `resize`, `restart`, `start`, `stop`, `top`, `unpause`, and `update` 7052 7053 Images report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, and `untag` 7054 7055 Volumes report these events: `create`, `mount`, `unmount`, and `destroy` 7056 7057 Networks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, and `remove` 7058 7059 The Docker daemon reports these events: `reload` 7060 7061 Services report these events: `create`, `update`, and `remove` 7062 7063 Nodes report these events: `create`, `update`, and `remove` 7064 7065 Secrets report these events: `create`, `update`, and `remove` 7066 7067 Configs report these events: `create`, `update`, and `remove` 7068 7069 operationId: "SystemEvents" 7070 produces: 7071 - "application/json" 7072 responses: 7073 200: 7074 description: "no error" 7075 schema: 7076 type: "object" 7077 title: "SystemEventsResponse" 7078 properties: 7079 Type: 7080 description: "The type of object emitting the event" 7081 type: "string" 7082 Action: 7083 description: "The type of event" 7084 type: "string" 7085 Actor: 7086 type: "object" 7087 properties: 7088 ID: 7089 description: "The ID of the object emitting the event" 7090 type: "string" 7091 Attributes: 7092 description: "Various key/value attributes of the object, depending on its type" 7093 type: "object" 7094 additionalProperties: 7095 type: "string" 7096 time: 7097 description: "Timestamp of event" 7098 type: "integer" 7099 timeNano: 7100 description: "Timestamp of event, with nanosecond accuracy" 7101 type: "integer" 7102 format: "int64" 7103 examples: 7104 application/json: 7105 Type: "container" 7106 Action: "create" 7107 Actor: 7108 ID: "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" 7109 Attributes: 7110 com.example.some-label: "some-label-value" 7111 image: "alpine" 7112 name: "my-container" 7113 time: 1461943101 7114 400: 7115 description: "bad parameter" 7116 schema: 7117 $ref: "#/definitions/ErrorResponse" 7118 500: 7119 description: "server error" 7120 schema: 7121 $ref: "#/definitions/ErrorResponse" 7122 parameters: 7123 - name: "since" 7124 in: "query" 7125 description: "Show events created since this timestamp then stream new events." 7126 type: "string" 7127 - name: "until" 7128 in: "query" 7129 description: "Show events created until this timestamp then stop streaming." 7130 type: "string" 7131 - name: "filters" 7132 in: "query" 7133 description: | 7134 A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters: 7135 7136 - `config=<string>` config name or ID 7137 - `container=<string>` container name or ID 7138 - `daemon=<string>` daemon name or ID 7139 - `event=<string>` event type 7140 - `image=<string>` image name or ID 7141 - `label=<string>` image or container label 7142 - `network=<string>` network name or ID 7143 - `node=<string>` node ID 7144 - `plugin`=<string> plugin name or ID 7145 - `scope`=<string> local or swarm 7146 - `secret=<string>` secret name or ID 7147 - `service=<string>` service name or ID 7148 - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config` 7149 - `volume=<string>` volume name 7150 type: "string" 7151 tags: ["System"] 7152 /system/df: 7153 get: 7154 summary: "Get data usage information" 7155 operationId: "SystemDataUsage" 7156 responses: 7157 200: 7158 description: "no error" 7159 schema: 7160 type: "object" 7161 title: "SystemDataUsageResponse" 7162 properties: 7163 LayersSize: 7164 type: "integer" 7165 format: "int64" 7166 Images: 7167 type: "array" 7168 items: 7169 $ref: "#/definitions/ImageSummary" 7170 Containers: 7171 type: "array" 7172 items: 7173 $ref: "#/definitions/ContainerSummary" 7174 Volumes: 7175 type: "array" 7176 items: 7177 $ref: "#/definitions/Volume" 7178 example: 7179 LayersSize: 1092588 7180 Images: 7181 - 7182 Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 7183 ParentId: "" 7184 RepoTags: 7185 - "busybox:latest" 7186 RepoDigests: 7187 - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" 7188 Created: 1466724217 7189 Size: 1092588 7190 SharedSize: 0 7191 VirtualSize: 1092588 7192 Labels: {} 7193 Containers: 1 7194 Containers: 7195 - 7196 Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148" 7197 Names: 7198 - "/top" 7199 Image: "busybox" 7200 ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 7201 Command: "top" 7202 Created: 1472592424 7203 Ports: [] 7204 SizeRootFs: 1092588 7205 Labels: {} 7206 State: "exited" 7207 Status: "Exited (0) 56 minutes ago" 7208 HostConfig: 7209 NetworkMode: "default" 7210 NetworkSettings: 7211 Networks: 7212 bridge: 7213 IPAMConfig: null 7214 Links: null 7215 Aliases: null 7216 NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92" 7217 EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a" 7218 Gateway: "172.18.0.1" 7219 IPAddress: "172.18.0.2" 7220 IPPrefixLen: 16 7221 IPv6Gateway: "" 7222 GlobalIPv6Address: "" 7223 GlobalIPv6PrefixLen: 0 7224 MacAddress: "02:42:ac:12:00:02" 7225 Mounts: [] 7226 Volumes: 7227 - 7228 Name: "my-volume" 7229 Driver: "local" 7230 Mountpoint: "/var/lib/docker/volumes/my-volume/_data" 7231 Labels: null 7232 Scope: "local" 7233 Options: null 7234 UsageData: 7235 Size: 10920104 7236 RefCount: 2 7237 500: 7238 description: "server error" 7239 schema: 7240 $ref: "#/definitions/ErrorResponse" 7241 tags: ["System"] 7242 /images/{name}/get: 7243 get: 7244 summary: "Export an image" 7245 description: | 7246 Get a tarball containing all images and metadata for a repository. 7247 7248 If `name` is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned. If `name` is an image ID, similarly only that image (and its parents) are returned, but with the exclusion of the `repositories` file in the tarball, as there were no image names referenced. 7249 7250 ### Image tarball format 7251 7252 An image tarball contains one directory per image layer (named using its long ID), each containing these files: 7253 7254 - `VERSION`: currently `1.0` - the file format version 7255 - `json`: detailed layer information, similar to `docker inspect layer_id` 7256 - `layer.tar`: A tarfile containing the filesystem changes in this layer 7257 7258 The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions. 7259 7260 If the tarball defines a repository, the tarball should also include a `repositories` file at the root that contains a list of repository and tag names mapped to layer IDs. 7261 7262 ```json 7263 { 7264 "hello-world": { 7265 "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1" 7266 } 7267 } 7268 ``` 7269 operationId: "ImageGet" 7270 produces: 7271 - "application/x-tar" 7272 responses: 7273 200: 7274 description: "no error" 7275 schema: 7276 type: "string" 7277 format: "binary" 7278 500: 7279 description: "server error" 7280 schema: 7281 $ref: "#/definitions/ErrorResponse" 7282 parameters: 7283 - name: "name" 7284 in: "path" 7285 description: "Image name or ID" 7286 type: "string" 7287 required: true 7288 tags: ["Image"] 7289 /images/get: 7290 get: 7291 summary: "Export several images" 7292 description: | 7293 Get a tarball containing all images and metadata for several image repositories. 7294 7295 For each value of the `names` parameter: if it is a specific name and tag (e.g. `ubuntu:latest`), then only that image (and its parents) are returned; if it is an image ID, similarly only that image (and its parents) are returned and there would be no names referenced in the 'repositories' file for this image ID. 7296 7297 For details on the format, see [the export image endpoint](#operation/ImageGet). 7298 operationId: "ImageGetAll" 7299 produces: 7300 - "application/x-tar" 7301 responses: 7302 200: 7303 description: "no error" 7304 schema: 7305 type: "string" 7306 format: "binary" 7307 500: 7308 description: "server error" 7309 schema: 7310 $ref: "#/definitions/ErrorResponse" 7311 parameters: 7312 - name: "names" 7313 in: "query" 7314 description: "Image names to filter by" 7315 type: "array" 7316 items: 7317 type: "string" 7318 tags: ["Image"] 7319 /images/load: 7320 post: 7321 summary: "Import images" 7322 description: | 7323 Load a set of images and tags into a repository. 7324 7325 For details on the format, see [the export image endpoint](#operation/ImageGet). 7326 operationId: "ImageLoad" 7327 consumes: 7328 - "application/x-tar" 7329 produces: 7330 - "application/json" 7331 responses: 7332 200: 7333 description: "no error" 7334 500: 7335 description: "server error" 7336 schema: 7337 $ref: "#/definitions/ErrorResponse" 7338 parameters: 7339 - name: "imagesTarball" 7340 in: "body" 7341 description: "Tar archive containing images" 7342 schema: 7343 type: "string" 7344 format: "binary" 7345 - name: "quiet" 7346 in: "query" 7347 description: "Suppress progress details during load." 7348 type: "boolean" 7349 default: false 7350 tags: ["Image"] 7351 /containers/{id}/exec: 7352 post: 7353 summary: "Create an exec instance" 7354 description: "Run a command inside a running container." 7355 operationId: "ContainerExec" 7356 consumes: 7357 - "application/json" 7358 produces: 7359 - "application/json" 7360 responses: 7361 201: 7362 description: "no error" 7363 schema: 7364 $ref: "#/definitions/IdResponse" 7365 404: 7366 description: "no such container" 7367 schema: 7368 $ref: "#/definitions/ErrorResponse" 7369 examples: 7370 application/json: 7371 message: "No such container: c2ada9df5af8" 7372 409: 7373 description: "container is paused" 7374 schema: 7375 $ref: "#/definitions/ErrorResponse" 7376 500: 7377 description: "Server error" 7378 schema: 7379 $ref: "#/definitions/ErrorResponse" 7380 parameters: 7381 - name: "execConfig" 7382 in: "body" 7383 description: "Exec configuration" 7384 schema: 7385 type: "object" 7386 properties: 7387 AttachStdin: 7388 type: "boolean" 7389 description: "Attach to `stdin` of the exec command." 7390 AttachStdout: 7391 type: "boolean" 7392 description: "Attach to `stdout` of the exec command." 7393 AttachStderr: 7394 type: "boolean" 7395 description: "Attach to `stderr` of the exec command." 7396 DetachKeys: 7397 type: "string" 7398 description: "Override the key sequence for detaching a container. Format is a single character `[a-Z]` or `ctrl-<value>` where `<value>` is one of: `a-z`, `@`, `^`, `[`, `,` or `_`." 7399 Tty: 7400 type: "boolean" 7401 description: "Allocate a pseudo-TTY." 7402 Env: 7403 description: "A list of environment variables in the form `[\"VAR=value\", ...]`." 7404 type: "array" 7405 items: 7406 type: "string" 7407 Cmd: 7408 type: "array" 7409 description: "Command to run, as a string or array of strings." 7410 items: 7411 type: "string" 7412 Privileged: 7413 type: "boolean" 7414 description: "Runs the exec process with extended privileges." 7415 default: false 7416 User: 7417 type: "string" 7418 description: "The user, and optionally, group to run the exec process inside the container. Format is one of: `user`, `user:group`, `uid`, or `uid:gid`." 7419 WorkingDir: 7420 type: "string" 7421 description: "The working directory for the exec process inside the container." 7422 example: 7423 AttachStdin: false 7424 AttachStdout: true 7425 AttachStderr: true 7426 DetachKeys: "ctrl-p,ctrl-q" 7427 Tty: false 7428 Cmd: 7429 - "date" 7430 Env: 7431 - "FOO=bar" 7432 - "BAZ=quux" 7433 required: true 7434 - name: "id" 7435 in: "path" 7436 description: "ID or name of container" 7437 type: "string" 7438 required: true 7439 tags: ["Exec"] 7440 /exec/{id}/start: 7441 post: 7442 summary: "Start an exec instance" 7443 description: "Starts a previously set up exec instance. If detach is true, this endpoint returns immediately after starting the command. Otherwise, it sets up an interactive session with the command." 7444 operationId: "ExecStart" 7445 consumes: 7446 - "application/json" 7447 produces: 7448 - "application/vnd.docker.raw-stream" 7449 responses: 7450 200: 7451 description: "No error" 7452 404: 7453 description: "No such exec instance" 7454 schema: 7455 $ref: "#/definitions/ErrorResponse" 7456 409: 7457 description: "Container is stopped or paused" 7458 schema: 7459 $ref: "#/definitions/ErrorResponse" 7460 parameters: 7461 - name: "execStartConfig" 7462 in: "body" 7463 schema: 7464 type: "object" 7465 properties: 7466 Detach: 7467 type: "boolean" 7468 description: "Detach from the command." 7469 Tty: 7470 type: "boolean" 7471 description: "Allocate a pseudo-TTY." 7472 example: 7473 Detach: false 7474 Tty: false 7475 - name: "id" 7476 in: "path" 7477 description: "Exec instance ID" 7478 required: true 7479 type: "string" 7480 tags: ["Exec"] 7481 /exec/{id}/resize: 7482 post: 7483 summary: "Resize an exec instance" 7484 description: "Resize the TTY session used by an exec instance. This endpoint only works if `tty` was specified as part of creating and starting the exec instance." 7485 operationId: "ExecResize" 7486 responses: 7487 201: 7488 description: "No error" 7489 404: 7490 description: "No such exec instance" 7491 schema: 7492 $ref: "#/definitions/ErrorResponse" 7493 parameters: 7494 - name: "id" 7495 in: "path" 7496 description: "Exec instance ID" 7497 required: true 7498 type: "string" 7499 - name: "h" 7500 in: "query" 7501 description: "Height of the TTY session in characters" 7502 type: "integer" 7503 - name: "w" 7504 in: "query" 7505 description: "Width of the TTY session in characters" 7506 type: "integer" 7507 tags: ["Exec"] 7508 /exec/{id}/json: 7509 get: 7510 summary: "Inspect an exec instance" 7511 description: "Return low-level information about an exec instance." 7512 operationId: "ExecInspect" 7513 produces: 7514 - "application/json" 7515 responses: 7516 200: 7517 description: "No error" 7518 schema: 7519 type: "object" 7520 title: "ExecInspectResponse" 7521 properties: 7522 CanRemove: 7523 type: "boolean" 7524 DetachKeys: 7525 type: "string" 7526 ID: 7527 type: "string" 7528 Running: 7529 type: "boolean" 7530 ExitCode: 7531 type: "integer" 7532 ProcessConfig: 7533 $ref: "#/definitions/ProcessConfig" 7534 OpenStdin: 7535 type: "boolean" 7536 OpenStderr: 7537 type: "boolean" 7538 OpenStdout: 7539 type: "boolean" 7540 ContainerID: 7541 type: "string" 7542 Pid: 7543 type: "integer" 7544 description: "The system process ID for the exec process." 7545 examples: 7546 application/json: 7547 CanRemove: false 7548 ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126" 7549 DetachKeys: "" 7550 ExitCode: 2 7551 ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b" 7552 OpenStderr: true 7553 OpenStdin: true 7554 OpenStdout: true 7555 ProcessConfig: 7556 arguments: 7557 - "-c" 7558 - "exit 2" 7559 entrypoint: "sh" 7560 privileged: false 7561 tty: true 7562 user: "1000" 7563 Running: false 7564 Pid: 42000 7565 404: 7566 description: "No such exec instance" 7567 schema: 7568 $ref: "#/definitions/ErrorResponse" 7569 500: 7570 description: "Server error" 7571 schema: 7572 $ref: "#/definitions/ErrorResponse" 7573 parameters: 7574 - name: "id" 7575 in: "path" 7576 description: "Exec instance ID" 7577 required: true 7578 type: "string" 7579 tags: ["Exec"] 7580 7581 /volumes: 7582 get: 7583 summary: "List volumes" 7584 operationId: "VolumeList" 7585 produces: ["application/json"] 7586 responses: 7587 200: 7588 description: "Summary volume data that matches the query" 7589 schema: 7590 type: "object" 7591 title: "VolumeListResponse" 7592 required: [Volumes, Warnings] 7593 properties: 7594 Volumes: 7595 type: "array" 7596 x-nullable: false 7597 description: "List of volumes" 7598 items: 7599 $ref: "#/definitions/Volume" 7600 Warnings: 7601 type: "array" 7602 x-nullable: false 7603 description: "Warnings that occurred when fetching the list of volumes" 7604 items: 7605 type: "string" 7606 7607 examples: 7608 application/json: 7609 Volumes: 7610 - CreatedAt: "2017-07-19T12:00:26Z" 7611 Name: "tardis" 7612 Driver: "local" 7613 Mountpoint: "/var/lib/docker/volumes/tardis" 7614 Labels: 7615 com.example.some-label: "some-value" 7616 com.example.some-other-label: "some-other-value" 7617 Scope: "local" 7618 Options: 7619 device: "tmpfs" 7620 o: "size=100m,uid=1000" 7621 type: "tmpfs" 7622 Warnings: [] 7623 500: 7624 description: "Server error" 7625 schema: 7626 $ref: "#/definitions/ErrorResponse" 7627 parameters: 7628 - name: "filters" 7629 in: "query" 7630 description: | 7631 JSON encoded value of the filters (a `map[string][]string`) to 7632 process on the volumes list. Available filters: 7633 7634 - `dangling=<boolean>` When set to `true` (or `1`), returns all 7635 volumes that are not in use by a container. When set to `false` 7636 (or `0`), only volumes that are in use by one or more 7637 containers are returned. 7638 - `driver=<volume-driver-name>` Matches volumes based on their driver. 7639 - `label=<key>` or `label=<key>:<value>` Matches volumes based on 7640 the presence of a `label` alone or a `label` and a value. 7641 - `name=<volume-name>` Matches all or part of a volume name. 7642 type: "string" 7643 format: "json" 7644 tags: ["Volume"] 7645 7646 /volumes/create: 7647 post: 7648 summary: "Create a volume" 7649 operationId: "VolumeCreate" 7650 consumes: ["application/json"] 7651 produces: ["application/json"] 7652 responses: 7653 201: 7654 description: "The volume was created successfully" 7655 schema: 7656 $ref: "#/definitions/Volume" 7657 500: 7658 description: "Server error" 7659 schema: 7660 $ref: "#/definitions/ErrorResponse" 7661 parameters: 7662 - name: "volumeConfig" 7663 in: "body" 7664 required: true 7665 description: "Volume configuration" 7666 schema: 7667 type: "object" 7668 properties: 7669 Name: 7670 description: "The new volume's name. If not specified, Docker generates a name." 7671 type: "string" 7672 x-nullable: false 7673 Driver: 7674 description: "Name of the volume driver to use." 7675 type: "string" 7676 default: "local" 7677 x-nullable: false 7678 DriverOpts: 7679 description: "A mapping of driver options and values. These options are passed directly to the driver and are driver specific." 7680 type: "object" 7681 additionalProperties: 7682 type: "string" 7683 Labels: 7684 description: "User-defined key/value metadata." 7685 type: "object" 7686 additionalProperties: 7687 type: "string" 7688 example: 7689 Name: "tardis" 7690 Labels: 7691 com.example.some-label: "some-value" 7692 com.example.some-other-label: "some-other-value" 7693 Driver: "custom" 7694 tags: ["Volume"] 7695 7696 /volumes/{name}: 7697 get: 7698 summary: "Inspect a volume" 7699 operationId: "VolumeInspect" 7700 produces: ["application/json"] 7701 responses: 7702 200: 7703 description: "No error" 7704 schema: 7705 $ref: "#/definitions/Volume" 7706 404: 7707 description: "No such volume" 7708 schema: 7709 $ref: "#/definitions/ErrorResponse" 7710 500: 7711 description: "Server error" 7712 schema: 7713 $ref: "#/definitions/ErrorResponse" 7714 parameters: 7715 - name: "name" 7716 in: "path" 7717 required: true 7718 description: "Volume name or ID" 7719 type: "string" 7720 tags: ["Volume"] 7721 7722 delete: 7723 summary: "Remove a volume" 7724 description: "Instruct the driver to remove the volume." 7725 operationId: "VolumeDelete" 7726 responses: 7727 204: 7728 description: "The volume was removed" 7729 404: 7730 description: "No such volume or volume driver" 7731 schema: 7732 $ref: "#/definitions/ErrorResponse" 7733 409: 7734 description: "Volume is in use and cannot be removed" 7735 schema: 7736 $ref: "#/definitions/ErrorResponse" 7737 500: 7738 description: "Server error" 7739 schema: 7740 $ref: "#/definitions/ErrorResponse" 7741 parameters: 7742 - name: "name" 7743 in: "path" 7744 required: true 7745 description: "Volume name or ID" 7746 type: "string" 7747 - name: "force" 7748 in: "query" 7749 description: "Force the removal of the volume" 7750 type: "boolean" 7751 default: false 7752 tags: ["Volume"] 7753 /volumes/prune: 7754 post: 7755 summary: "Delete unused volumes" 7756 produces: 7757 - "application/json" 7758 operationId: "VolumePrune" 7759 parameters: 7760 - name: "filters" 7761 in: "query" 7762 description: | 7763 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 7764 7765 Available filters: 7766 - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune volumes with (or without, in case `label!=...` is used) the specified labels. 7767 type: "string" 7768 responses: 7769 200: 7770 description: "No error" 7771 schema: 7772 type: "object" 7773 title: "VolumePruneResponse" 7774 properties: 7775 VolumesDeleted: 7776 description: "Volumes that were deleted" 7777 type: "array" 7778 items: 7779 type: "string" 7780 SpaceReclaimed: 7781 description: "Disk space reclaimed in bytes" 7782 type: "integer" 7783 format: "int64" 7784 500: 7785 description: "Server error" 7786 schema: 7787 $ref: "#/definitions/ErrorResponse" 7788 tags: ["Volume"] 7789 /networks: 7790 get: 7791 summary: "List networks" 7792 description: | 7793 Returns a list of networks. For details on the format, see [the network inspect endpoint](#operation/NetworkInspect). 7794 7795 Note that it uses a different, smaller representation of a network than inspecting a single network. For example, 7796 the list of containers attached to the network is not propagated in API versions 1.28 and up. 7797 operationId: "NetworkList" 7798 produces: 7799 - "application/json" 7800 responses: 7801 200: 7802 description: "No error" 7803 schema: 7804 type: "array" 7805 items: 7806 $ref: "#/definitions/Network" 7807 examples: 7808 application/json: 7809 - Name: "bridge" 7810 Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566" 7811 Created: "2016-10-19T06:21:00.416543526Z" 7812 Scope: "local" 7813 Driver: "bridge" 7814 EnableIPv6: false 7815 Internal: false 7816 Attachable: false 7817 Ingress: false 7818 IPAM: 7819 Driver: "default" 7820 Config: 7821 - 7822 Subnet: "172.17.0.0/16" 7823 Options: 7824 com.docker.network.bridge.default_bridge: "true" 7825 com.docker.network.bridge.enable_icc: "true" 7826 com.docker.network.bridge.enable_ip_masquerade: "true" 7827 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 7828 com.docker.network.bridge.name: "docker0" 7829 com.docker.network.driver.mtu: "1500" 7830 - Name: "none" 7831 Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794" 7832 Created: "0001-01-01T00:00:00Z" 7833 Scope: "local" 7834 Driver: "null" 7835 EnableIPv6: false 7836 Internal: false 7837 Attachable: false 7838 Ingress: false 7839 IPAM: 7840 Driver: "default" 7841 Config: [] 7842 Containers: {} 7843 Options: {} 7844 - Name: "host" 7845 Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e" 7846 Created: "0001-01-01T00:00:00Z" 7847 Scope: "local" 7848 Driver: "host" 7849 EnableIPv6: false 7850 Internal: false 7851 Attachable: false 7852 Ingress: false 7853 IPAM: 7854 Driver: "default" 7855 Config: [] 7856 Containers: {} 7857 Options: {} 7858 500: 7859 description: "Server error" 7860 schema: 7861 $ref: "#/definitions/ErrorResponse" 7862 parameters: 7863 - name: "filters" 7864 in: "query" 7865 description: | 7866 JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters: 7867 7868 - `driver=<driver-name>` Matches a network's driver. 7869 - `id=<network-id>` Matches all or part of a network ID. 7870 - `label=<key>` or `label=<key>=<value>` of a network label. 7871 - `name=<network-name>` Matches all or part of a network name. 7872 - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`). 7873 - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. 7874 type: "string" 7875 tags: ["Network"] 7876 7877 /networks/{id}: 7878 get: 7879 summary: "Inspect a network" 7880 operationId: "NetworkInspect" 7881 produces: 7882 - "application/json" 7883 responses: 7884 200: 7885 description: "No error" 7886 schema: 7887 $ref: "#/definitions/Network" 7888 404: 7889 description: "Network not found" 7890 schema: 7891 $ref: "#/definitions/ErrorResponse" 7892 500: 7893 description: "Server error" 7894 schema: 7895 $ref: "#/definitions/ErrorResponse" 7896 parameters: 7897 - name: "id" 7898 in: "path" 7899 description: "Network ID or name" 7900 required: true 7901 type: "string" 7902 - name: "verbose" 7903 in: "query" 7904 description: "Detailed inspect output for troubleshooting" 7905 type: "boolean" 7906 default: false 7907 - name: "scope" 7908 in: "query" 7909 description: "Filter the network by scope (swarm, global, or local)" 7910 type: "string" 7911 tags: ["Network"] 7912 7913 delete: 7914 summary: "Remove a network" 7915 operationId: "NetworkDelete" 7916 responses: 7917 204: 7918 description: "No error" 7919 403: 7920 description: "operation not supported for pre-defined networks" 7921 schema: 7922 $ref: "#/definitions/ErrorResponse" 7923 404: 7924 description: "no such network" 7925 schema: 7926 $ref: "#/definitions/ErrorResponse" 7927 500: 7928 description: "Server error" 7929 schema: 7930 $ref: "#/definitions/ErrorResponse" 7931 parameters: 7932 - name: "id" 7933 in: "path" 7934 description: "Network ID or name" 7935 required: true 7936 type: "string" 7937 tags: ["Network"] 7938 7939 /networks/create: 7940 post: 7941 summary: "Create a network" 7942 operationId: "NetworkCreate" 7943 consumes: 7944 - "application/json" 7945 produces: 7946 - "application/json" 7947 responses: 7948 201: 7949 description: "No error" 7950 schema: 7951 type: "object" 7952 title: "NetworkCreateResponse" 7953 properties: 7954 Id: 7955 description: "The ID of the created network." 7956 type: "string" 7957 Warning: 7958 type: "string" 7959 example: 7960 Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30" 7961 Warning: "" 7962 403: 7963 description: "operation not supported for pre-defined networks" 7964 schema: 7965 $ref: "#/definitions/ErrorResponse" 7966 404: 7967 description: "plugin not found" 7968 schema: 7969 $ref: "#/definitions/ErrorResponse" 7970 500: 7971 description: "Server error" 7972 schema: 7973 $ref: "#/definitions/ErrorResponse" 7974 parameters: 7975 - name: "networkConfig" 7976 in: "body" 7977 description: "Network configuration" 7978 required: true 7979 schema: 7980 type: "object" 7981 required: ["Name"] 7982 properties: 7983 Name: 7984 description: "The network's name." 7985 type: "string" 7986 CheckDuplicate: 7987 description: "Check for networks with duplicate names. Since Network is primarily keyed based on a random ID and not on the name, and network name is strictly a user-friendly alias to the network which is uniquely identified using ID, there is no guaranteed way to check for duplicates. CheckDuplicate is there to provide a best effort checking of any networks which has the same name but it is not guaranteed to catch all name collisions." 7988 type: "boolean" 7989 Driver: 7990 description: "Name of the network driver plugin to use." 7991 type: "string" 7992 default: "bridge" 7993 Internal: 7994 description: "Restrict external access to the network." 7995 type: "boolean" 7996 Attachable: 7997 description: "Globally scoped network is manually attachable by regular containers from workers in swarm mode." 7998 type: "boolean" 7999 Ingress: 8000 description: "Ingress network is the network which provides the routing-mesh in swarm mode." 8001 type: "boolean" 8002 IPAM: 8003 description: "Optional custom IP scheme for the network." 8004 $ref: "#/definitions/IPAM" 8005 EnableIPv6: 8006 description: "Enable IPv6 on the network." 8007 type: "boolean" 8008 Options: 8009 description: "Network specific options to be used by the drivers." 8010 type: "object" 8011 additionalProperties: 8012 type: "string" 8013 Labels: 8014 description: "User-defined key/value metadata." 8015 type: "object" 8016 additionalProperties: 8017 type: "string" 8018 example: 8019 Name: "isolated_nw" 8020 CheckDuplicate: false 8021 Driver: "bridge" 8022 EnableIPv6: true 8023 IPAM: 8024 Driver: "default" 8025 Config: 8026 - Subnet: "172.20.0.0/16" 8027 IPRange: "172.20.10.0/24" 8028 Gateway: "172.20.10.11" 8029 - Subnet: "2001:db8:abcd::/64" 8030 Gateway: "2001:db8:abcd::1011" 8031 Options: 8032 foo: "bar" 8033 Internal: true 8034 Attachable: false 8035 Ingress: false 8036 Options: 8037 com.docker.network.bridge.default_bridge: "true" 8038 com.docker.network.bridge.enable_icc: "true" 8039 com.docker.network.bridge.enable_ip_masquerade: "true" 8040 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 8041 com.docker.network.bridge.name: "docker0" 8042 com.docker.network.driver.mtu: "1500" 8043 Labels: 8044 com.example.some-label: "some-value" 8045 com.example.some-other-label: "some-other-value" 8046 tags: ["Network"] 8047 8048 /networks/{id}/connect: 8049 post: 8050 summary: "Connect a container to a network" 8051 operationId: "NetworkConnect" 8052 consumes: 8053 - "application/json" 8054 responses: 8055 200: 8056 description: "No error" 8057 403: 8058 description: "Operation not supported for swarm scoped networks" 8059 schema: 8060 $ref: "#/definitions/ErrorResponse" 8061 404: 8062 description: "Network or container not found" 8063 schema: 8064 $ref: "#/definitions/ErrorResponse" 8065 500: 8066 description: "Server error" 8067 schema: 8068 $ref: "#/definitions/ErrorResponse" 8069 parameters: 8070 - name: "id" 8071 in: "path" 8072 description: "Network ID or name" 8073 required: true 8074 type: "string" 8075 - name: "container" 8076 in: "body" 8077 required: true 8078 schema: 8079 type: "object" 8080 properties: 8081 Container: 8082 type: "string" 8083 description: "The ID or name of the container to connect to the network." 8084 EndpointConfig: 8085 $ref: "#/definitions/EndpointSettings" 8086 example: 8087 Container: "3613f73ba0e4" 8088 EndpointConfig: 8089 IPAMConfig: 8090 IPv4Address: "172.24.56.89" 8091 IPv6Address: "2001:db8::5689" 8092 tags: ["Network"] 8093 8094 /networks/{id}/disconnect: 8095 post: 8096 summary: "Disconnect a container from a network" 8097 operationId: "NetworkDisconnect" 8098 consumes: 8099 - "application/json" 8100 responses: 8101 200: 8102 description: "No error" 8103 403: 8104 description: "Operation not supported for swarm scoped networks" 8105 schema: 8106 $ref: "#/definitions/ErrorResponse" 8107 404: 8108 description: "Network or container not found" 8109 schema: 8110 $ref: "#/definitions/ErrorResponse" 8111 500: 8112 description: "Server error" 8113 schema: 8114 $ref: "#/definitions/ErrorResponse" 8115 parameters: 8116 - name: "id" 8117 in: "path" 8118 description: "Network ID or name" 8119 required: true 8120 type: "string" 8121 - name: "container" 8122 in: "body" 8123 required: true 8124 schema: 8125 type: "object" 8126 properties: 8127 Container: 8128 type: "string" 8129 description: "The ID or name of the container to disconnect from the network." 8130 Force: 8131 type: "boolean" 8132 description: "Force the container to disconnect from the network." 8133 tags: ["Network"] 8134 /networks/prune: 8135 post: 8136 summary: "Delete unused networks" 8137 produces: 8138 - "application/json" 8139 operationId: "NetworkPrune" 8140 parameters: 8141 - name: "filters" 8142 in: "query" 8143 description: | 8144 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 8145 8146 Available filters: 8147 - `until=<timestamp>` Prune networks created before this timestamp. The `<timestamp>` can be Unix timestamps, date formatted timestamps, or Go duration strings (e.g. `10m`, `1h30m`) computed relative to the daemon machine’s time. 8148 - `label` (`label=<key>`, `label=<key>=<value>`, `label!=<key>`, or `label!=<key>=<value>`) Prune networks with (or without, in case `label!=...` is used) the specified labels. 8149 type: "string" 8150 responses: 8151 200: 8152 description: "No error" 8153 schema: 8154 type: "object" 8155 title: "NetworkPruneResponse" 8156 properties: 8157 NetworksDeleted: 8158 description: "Networks that were deleted" 8159 type: "array" 8160 items: 8161 type: "string" 8162 500: 8163 description: "Server error" 8164 schema: 8165 $ref: "#/definitions/ErrorResponse" 8166 tags: ["Network"] 8167 /plugins: 8168 get: 8169 summary: "List plugins" 8170 operationId: "PluginList" 8171 description: "Returns information about installed plugins." 8172 produces: ["application/json"] 8173 responses: 8174 200: 8175 description: "No error" 8176 schema: 8177 type: "array" 8178 items: 8179 $ref: "#/definitions/Plugin" 8180 500: 8181 description: "Server error" 8182 schema: 8183 $ref: "#/definitions/ErrorResponse" 8184 parameters: 8185 - name: "filters" 8186 in: "query" 8187 type: "string" 8188 description: | 8189 A JSON encoded value of the filters (a `map[string][]string`) to process on the plugin list. Available filters: 8190 8191 - `capability=<capability name>` 8192 - `enable=<true>|<false>` 8193 tags: ["Plugin"] 8194 8195 /plugins/privileges: 8196 get: 8197 summary: "Get plugin privileges" 8198 operationId: "GetPluginPrivileges" 8199 responses: 8200 200: 8201 description: "no error" 8202 schema: 8203 type: "array" 8204 items: 8205 description: "Describes a permission the user has to accept upon installing the plugin." 8206 type: "object" 8207 title: "PluginPrivilegeItem" 8208 properties: 8209 Name: 8210 type: "string" 8211 Description: 8212 type: "string" 8213 Value: 8214 type: "array" 8215 items: 8216 type: "string" 8217 example: 8218 - Name: "network" 8219 Description: "" 8220 Value: 8221 - "host" 8222 - Name: "mount" 8223 Description: "" 8224 Value: 8225 - "/data" 8226 - Name: "device" 8227 Description: "" 8228 Value: 8229 - "/dev/cpu_dma_latency" 8230 500: 8231 description: "server error" 8232 schema: 8233 $ref: "#/definitions/ErrorResponse" 8234 parameters: 8235 - name: "remote" 8236 in: "query" 8237 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8238 required: true 8239 type: "string" 8240 tags: 8241 - "Plugin" 8242 8243 /plugins/pull: 8244 post: 8245 summary: "Install a plugin" 8246 operationId: "PluginPull" 8247 description: | 8248 Pulls and installs a plugin. After the plugin is installed, it can be enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable). 8249 produces: 8250 - "application/json" 8251 responses: 8252 204: 8253 description: "no error" 8254 500: 8255 description: "server error" 8256 schema: 8257 $ref: "#/definitions/ErrorResponse" 8258 parameters: 8259 - name: "remote" 8260 in: "query" 8261 description: | 8262 Remote reference for plugin to install. 8263 8264 The `:latest` tag is optional, and is used as the default if omitted. 8265 required: true 8266 type: "string" 8267 - name: "name" 8268 in: "query" 8269 description: | 8270 Local name for the pulled plugin. 8271 8272 The `:latest` tag is optional, and is used as the default if omitted. 8273 required: false 8274 type: "string" 8275 - name: "X-Registry-Auth" 8276 in: "header" 8277 description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)" 8278 type: "string" 8279 - name: "body" 8280 in: "body" 8281 schema: 8282 type: "array" 8283 items: 8284 description: "Describes a permission accepted by the user upon installing the plugin." 8285 type: "object" 8286 properties: 8287 Name: 8288 type: "string" 8289 Description: 8290 type: "string" 8291 Value: 8292 type: "array" 8293 items: 8294 type: "string" 8295 example: 8296 - Name: "network" 8297 Description: "" 8298 Value: 8299 - "host" 8300 - Name: "mount" 8301 Description: "" 8302 Value: 8303 - "/data" 8304 - Name: "device" 8305 Description: "" 8306 Value: 8307 - "/dev/cpu_dma_latency" 8308 tags: ["Plugin"] 8309 /plugins/{name}/json: 8310 get: 8311 summary: "Inspect a plugin" 8312 operationId: "PluginInspect" 8313 responses: 8314 200: 8315 description: "no error" 8316 schema: 8317 $ref: "#/definitions/Plugin" 8318 404: 8319 description: "plugin is not installed" 8320 schema: 8321 $ref: "#/definitions/ErrorResponse" 8322 500: 8323 description: "server error" 8324 schema: 8325 $ref: "#/definitions/ErrorResponse" 8326 parameters: 8327 - name: "name" 8328 in: "path" 8329 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8330 required: true 8331 type: "string" 8332 tags: ["Plugin"] 8333 /plugins/{name}: 8334 delete: 8335 summary: "Remove a plugin" 8336 operationId: "PluginDelete" 8337 responses: 8338 200: 8339 description: "no error" 8340 schema: 8341 $ref: "#/definitions/Plugin" 8342 404: 8343 description: "plugin is not installed" 8344 schema: 8345 $ref: "#/definitions/ErrorResponse" 8346 500: 8347 description: "server error" 8348 schema: 8349 $ref: "#/definitions/ErrorResponse" 8350 parameters: 8351 - name: "name" 8352 in: "path" 8353 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8354 required: true 8355 type: "string" 8356 - name: "force" 8357 in: "query" 8358 description: "Disable the plugin before removing. This may result in issues if the plugin is in use by a container." 8359 type: "boolean" 8360 default: false 8361 tags: ["Plugin"] 8362 /plugins/{name}/enable: 8363 post: 8364 summary: "Enable a plugin" 8365 operationId: "PluginEnable" 8366 responses: 8367 200: 8368 description: "no error" 8369 404: 8370 description: "plugin is not installed" 8371 schema: 8372 $ref: "#/definitions/ErrorResponse" 8373 500: 8374 description: "server error" 8375 schema: 8376 $ref: "#/definitions/ErrorResponse" 8377 parameters: 8378 - name: "name" 8379 in: "path" 8380 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8381 required: true 8382 type: "string" 8383 - name: "timeout" 8384 in: "query" 8385 description: "Set the HTTP client timeout (in seconds)" 8386 type: "integer" 8387 default: 0 8388 tags: ["Plugin"] 8389 /plugins/{name}/disable: 8390 post: 8391 summary: "Disable a plugin" 8392 operationId: "PluginDisable" 8393 responses: 8394 200: 8395 description: "no error" 8396 404: 8397 description: "plugin is not installed" 8398 schema: 8399 $ref: "#/definitions/ErrorResponse" 8400 500: 8401 description: "server error" 8402 schema: 8403 $ref: "#/definitions/ErrorResponse" 8404 parameters: 8405 - name: "name" 8406 in: "path" 8407 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8408 required: true 8409 type: "string" 8410 tags: ["Plugin"] 8411 /plugins/{name}/upgrade: 8412 post: 8413 summary: "Upgrade a plugin" 8414 operationId: "PluginUpgrade" 8415 responses: 8416 204: 8417 description: "no error" 8418 404: 8419 description: "plugin not installed" 8420 schema: 8421 $ref: "#/definitions/ErrorResponse" 8422 500: 8423 description: "server error" 8424 schema: 8425 $ref: "#/definitions/ErrorResponse" 8426 parameters: 8427 - name: "name" 8428 in: "path" 8429 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8430 required: true 8431 type: "string" 8432 - name: "remote" 8433 in: "query" 8434 description: | 8435 Remote reference to upgrade to. 8436 8437 The `:latest` tag is optional, and is used as the default if omitted. 8438 required: true 8439 type: "string" 8440 - name: "X-Registry-Auth" 8441 in: "header" 8442 description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)" 8443 type: "string" 8444 - name: "body" 8445 in: "body" 8446 schema: 8447 type: "array" 8448 items: 8449 description: "Describes a permission accepted by the user upon installing the plugin." 8450 type: "object" 8451 properties: 8452 Name: 8453 type: "string" 8454 Description: 8455 type: "string" 8456 Value: 8457 type: "array" 8458 items: 8459 type: "string" 8460 example: 8461 - Name: "network" 8462 Description: "" 8463 Value: 8464 - "host" 8465 - Name: "mount" 8466 Description: "" 8467 Value: 8468 - "/data" 8469 - Name: "device" 8470 Description: "" 8471 Value: 8472 - "/dev/cpu_dma_latency" 8473 tags: ["Plugin"] 8474 /plugins/create: 8475 post: 8476 summary: "Create a plugin" 8477 operationId: "PluginCreate" 8478 consumes: 8479 - "application/x-tar" 8480 responses: 8481 204: 8482 description: "no error" 8483 500: 8484 description: "server error" 8485 schema: 8486 $ref: "#/definitions/ErrorResponse" 8487 parameters: 8488 - name: "name" 8489 in: "query" 8490 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8491 required: true 8492 type: "string" 8493 - name: "tarContext" 8494 in: "body" 8495 description: "Path to tar containing plugin rootfs and manifest" 8496 schema: 8497 type: "string" 8498 format: "binary" 8499 tags: ["Plugin"] 8500 /plugins/{name}/push: 8501 post: 8502 summary: "Push a plugin" 8503 operationId: "PluginPush" 8504 description: | 8505 Push a plugin to the registry. 8506 parameters: 8507 - name: "name" 8508 in: "path" 8509 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8510 required: true 8511 type: "string" 8512 responses: 8513 200: 8514 description: "no error" 8515 404: 8516 description: "plugin not installed" 8517 schema: 8518 $ref: "#/definitions/ErrorResponse" 8519 500: 8520 description: "server error" 8521 schema: 8522 $ref: "#/definitions/ErrorResponse" 8523 tags: ["Plugin"] 8524 /plugins/{name}/set: 8525 post: 8526 summary: "Configure a plugin" 8527 operationId: "PluginSet" 8528 consumes: 8529 - "application/json" 8530 parameters: 8531 - name: "name" 8532 in: "path" 8533 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8534 required: true 8535 type: "string" 8536 - name: "body" 8537 in: "body" 8538 schema: 8539 type: "array" 8540 items: 8541 type: "string" 8542 example: ["DEBUG=1"] 8543 responses: 8544 204: 8545 description: "No error" 8546 404: 8547 description: "Plugin not installed" 8548 schema: 8549 $ref: "#/definitions/ErrorResponse" 8550 500: 8551 description: "Server error" 8552 schema: 8553 $ref: "#/definitions/ErrorResponse" 8554 tags: ["Plugin"] 8555 /nodes: 8556 get: 8557 summary: "List nodes" 8558 operationId: "NodeList" 8559 responses: 8560 200: 8561 description: "no error" 8562 schema: 8563 type: "array" 8564 items: 8565 $ref: "#/definitions/Node" 8566 500: 8567 description: "server error" 8568 schema: 8569 $ref: "#/definitions/ErrorResponse" 8570 503: 8571 description: "node is not part of a swarm" 8572 schema: 8573 $ref: "#/definitions/ErrorResponse" 8574 parameters: 8575 - name: "filters" 8576 in: "query" 8577 description: | 8578 Filters to process on the nodes list, encoded as JSON (a `map[string][]string`). 8579 8580 Available filters: 8581 - `id=<node id>` 8582 - `label=<engine label>` 8583 - `membership=`(`accepted`|`pending`)` 8584 - `name=<node name>` 8585 - `role=`(`manager`|`worker`)` 8586 type: "string" 8587 tags: ["Node"] 8588 /nodes/{id}: 8589 get: 8590 summary: "Inspect a node" 8591 operationId: "NodeInspect" 8592 responses: 8593 200: 8594 description: "no error" 8595 schema: 8596 $ref: "#/definitions/Node" 8597 404: 8598 description: "no such node" 8599 schema: 8600 $ref: "#/definitions/ErrorResponse" 8601 500: 8602 description: "server error" 8603 schema: 8604 $ref: "#/definitions/ErrorResponse" 8605 503: 8606 description: "node is not part of a swarm" 8607 schema: 8608 $ref: "#/definitions/ErrorResponse" 8609 parameters: 8610 - name: "id" 8611 in: "path" 8612 description: "The ID or name of the node" 8613 type: "string" 8614 required: true 8615 tags: ["Node"] 8616 delete: 8617 summary: "Delete a node" 8618 operationId: "NodeDelete" 8619 responses: 8620 200: 8621 description: "no error" 8622 404: 8623 description: "no such node" 8624 schema: 8625 $ref: "#/definitions/ErrorResponse" 8626 500: 8627 description: "server error" 8628 schema: 8629 $ref: "#/definitions/ErrorResponse" 8630 503: 8631 description: "node is not part of a swarm" 8632 schema: 8633 $ref: "#/definitions/ErrorResponse" 8634 parameters: 8635 - name: "id" 8636 in: "path" 8637 description: "The ID or name of the node" 8638 type: "string" 8639 required: true 8640 - name: "force" 8641 in: "query" 8642 description: "Force remove a node from the swarm" 8643 default: false 8644 type: "boolean" 8645 tags: ["Node"] 8646 /nodes/{id}/update: 8647 post: 8648 summary: "Update a node" 8649 operationId: "NodeUpdate" 8650 responses: 8651 200: 8652 description: "no error" 8653 400: 8654 description: "bad parameter" 8655 schema: 8656 $ref: "#/definitions/ErrorResponse" 8657 404: 8658 description: "no such node" 8659 schema: 8660 $ref: "#/definitions/ErrorResponse" 8661 500: 8662 description: "server error" 8663 schema: 8664 $ref: "#/definitions/ErrorResponse" 8665 503: 8666 description: "node is not part of a swarm" 8667 schema: 8668 $ref: "#/definitions/ErrorResponse" 8669 parameters: 8670 - name: "id" 8671 in: "path" 8672 description: "The ID of the node" 8673 type: "string" 8674 required: true 8675 - name: "body" 8676 in: "body" 8677 schema: 8678 $ref: "#/definitions/NodeSpec" 8679 - name: "version" 8680 in: "query" 8681 description: "The version number of the node object being updated. This is required to avoid conflicting writes." 8682 type: "integer" 8683 format: "int64" 8684 required: true 8685 tags: ["Node"] 8686 /swarm: 8687 get: 8688 summary: "Inspect swarm" 8689 operationId: "SwarmInspect" 8690 responses: 8691 200: 8692 description: "no error" 8693 schema: 8694 $ref: "#/definitions/Swarm" 8695 404: 8696 description: "no such swarm" 8697 schema: 8698 $ref: "#/definitions/ErrorResponse" 8699 500: 8700 description: "server error" 8701 schema: 8702 $ref: "#/definitions/ErrorResponse" 8703 503: 8704 description: "node is not part of a swarm" 8705 schema: 8706 $ref: "#/definitions/ErrorResponse" 8707 tags: ["Swarm"] 8708 /swarm/init: 8709 post: 8710 summary: "Initialize a new swarm" 8711 operationId: "SwarmInit" 8712 produces: 8713 - "application/json" 8714 - "text/plain" 8715 responses: 8716 200: 8717 description: "no error" 8718 schema: 8719 description: "The node ID" 8720 type: "string" 8721 example: "7v2t30z9blmxuhnyo6s4cpenp" 8722 400: 8723 description: "bad parameter" 8724 schema: 8725 $ref: "#/definitions/ErrorResponse" 8726 500: 8727 description: "server error" 8728 schema: 8729 $ref: "#/definitions/ErrorResponse" 8730 503: 8731 description: "node is already part of a swarm" 8732 schema: 8733 $ref: "#/definitions/ErrorResponse" 8734 parameters: 8735 - name: "body" 8736 in: "body" 8737 required: true 8738 schema: 8739 type: "object" 8740 properties: 8741 ListenAddr: 8742 description: "Listen address used for inter-manager communication, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP). This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the default swarm listening port is used." 8743 type: "string" 8744 AdvertiseAddr: 8745 description: "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible." 8746 type: "string" 8747 DataPathAddr: 8748 description: | 8749 Address or interface to use for data path traffic (format: `<ip|interface>`), for example, `192.168.1.1`, 8750 or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr` 8751 is used. 8752 8753 The `DataPathAddr` specifies the address that global scope network drivers will publish towards other 8754 nodes in order to reach the containers running on this node. Using this parameter it is possible to 8755 separate the container data traffic from the management traffic of the cluster. 8756 type: "string" 8757 ForceNewCluster: 8758 description: "Force creation of a new swarm." 8759 type: "boolean" 8760 Spec: 8761 $ref: "#/definitions/SwarmSpec" 8762 example: 8763 ListenAddr: "0.0.0.0:2377" 8764 AdvertiseAddr: "192.168.1.1:2377" 8765 ForceNewCluster: false 8766 Spec: 8767 Orchestration: {} 8768 Raft: {} 8769 Dispatcher: {} 8770 CAConfig: {} 8771 EncryptionConfig: 8772 AutoLockManagers: false 8773 tags: ["Swarm"] 8774 /swarm/join: 8775 post: 8776 summary: "Join an existing swarm" 8777 operationId: "SwarmJoin" 8778 responses: 8779 200: 8780 description: "no error" 8781 400: 8782 description: "bad parameter" 8783 schema: 8784 $ref: "#/definitions/ErrorResponse" 8785 500: 8786 description: "server error" 8787 schema: 8788 $ref: "#/definitions/ErrorResponse" 8789 503: 8790 description: "node is already part of a swarm" 8791 schema: 8792 $ref: "#/definitions/ErrorResponse" 8793 parameters: 8794 - name: "body" 8795 in: "body" 8796 required: true 8797 schema: 8798 type: "object" 8799 properties: 8800 ListenAddr: 8801 description: "Listen address used for inter-manager communication if the node gets promoted to manager, as well as determining the networking interface used for the VXLAN Tunnel Endpoint (VTEP)." 8802 type: "string" 8803 AdvertiseAddr: 8804 description: "Externally reachable address advertised to other nodes. This can either be an address/port combination in the form `192.168.1.1:4567`, or an interface followed by a port number, like `eth0:4567`. If the port number is omitted, the port number from the listen address is used. If `AdvertiseAddr` is not specified, it will be automatically detected when possible." 8805 type: "string" 8806 DataPathAddr: 8807 description: | 8808 Address or interface to use for data path traffic (format: `<ip|interface>`), for example, `192.168.1.1`, 8809 or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr` 8810 is used. 8811 8812 The `DataPathAddr` specifies the address that global scope network drivers will publish towards other 8813 nodes in order to reach the containers running on this node. Using this parameter it is possible to 8814 separate the container data traffic from the management traffic of the cluster. 8815 8816 type: "string" 8817 RemoteAddrs: 8818 description: "Addresses of manager nodes already participating in the swarm." 8819 type: "string" 8820 JoinToken: 8821 description: "Secret token for joining this swarm." 8822 type: "string" 8823 example: 8824 ListenAddr: "0.0.0.0:2377" 8825 AdvertiseAddr: "192.168.1.1:2377" 8826 RemoteAddrs: 8827 - "node1:2377" 8828 JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" 8829 tags: ["Swarm"] 8830 /swarm/leave: 8831 post: 8832 summary: "Leave a swarm" 8833 operationId: "SwarmLeave" 8834 responses: 8835 200: 8836 description: "no error" 8837 500: 8838 description: "server error" 8839 schema: 8840 $ref: "#/definitions/ErrorResponse" 8841 503: 8842 description: "node is not part of a swarm" 8843 schema: 8844 $ref: "#/definitions/ErrorResponse" 8845 parameters: 8846 - name: "force" 8847 description: "Force leave swarm, even if this is the last manager or that it will break the cluster." 8848 in: "query" 8849 type: "boolean" 8850 default: false 8851 tags: ["Swarm"] 8852 /swarm/update: 8853 post: 8854 summary: "Update a swarm" 8855 operationId: "SwarmUpdate" 8856 responses: 8857 200: 8858 description: "no error" 8859 400: 8860 description: "bad parameter" 8861 schema: 8862 $ref: "#/definitions/ErrorResponse" 8863 500: 8864 description: "server error" 8865 schema: 8866 $ref: "#/definitions/ErrorResponse" 8867 503: 8868 description: "node is not part of a swarm" 8869 schema: 8870 $ref: "#/definitions/ErrorResponse" 8871 parameters: 8872 - name: "body" 8873 in: "body" 8874 required: true 8875 schema: 8876 $ref: "#/definitions/SwarmSpec" 8877 - name: "version" 8878 in: "query" 8879 description: "The version number of the swarm object being updated. This is required to avoid conflicting writes." 8880 type: "integer" 8881 format: "int64" 8882 required: true 8883 - name: "rotateWorkerToken" 8884 in: "query" 8885 description: "Rotate the worker join token." 8886 type: "boolean" 8887 default: false 8888 - name: "rotateManagerToken" 8889 in: "query" 8890 description: "Rotate the manager join token." 8891 type: "boolean" 8892 default: false 8893 - name: "rotateManagerUnlockKey" 8894 in: "query" 8895 description: "Rotate the manager unlock key." 8896 type: "boolean" 8897 default: false 8898 tags: ["Swarm"] 8899 /swarm/unlockkey: 8900 get: 8901 summary: "Get the unlock key" 8902 operationId: "SwarmUnlockkey" 8903 consumes: 8904 - "application/json" 8905 responses: 8906 200: 8907 description: "no error" 8908 schema: 8909 type: "object" 8910 title: "UnlockKeyResponse" 8911 properties: 8912 UnlockKey: 8913 description: "The swarm's unlock key." 8914 type: "string" 8915 example: 8916 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 8917 500: 8918 description: "server error" 8919 schema: 8920 $ref: "#/definitions/ErrorResponse" 8921 503: 8922 description: "node is not part of a swarm" 8923 schema: 8924 $ref: "#/definitions/ErrorResponse" 8925 tags: ["Swarm"] 8926 /swarm/unlock: 8927 post: 8928 summary: "Unlock a locked manager" 8929 operationId: "SwarmUnlock" 8930 consumes: 8931 - "application/json" 8932 produces: 8933 - "application/json" 8934 parameters: 8935 - name: "body" 8936 in: "body" 8937 required: true 8938 schema: 8939 type: "object" 8940 properties: 8941 UnlockKey: 8942 description: "The swarm's unlock key." 8943 type: "string" 8944 example: 8945 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 8946 responses: 8947 200: 8948 description: "no error" 8949 500: 8950 description: "server error" 8951 schema: 8952 $ref: "#/definitions/ErrorResponse" 8953 503: 8954 description: "node is not part of a swarm" 8955 schema: 8956 $ref: "#/definitions/ErrorResponse" 8957 tags: ["Swarm"] 8958 /services: 8959 get: 8960 summary: "List services" 8961 operationId: "ServiceList" 8962 responses: 8963 200: 8964 description: "no error" 8965 schema: 8966 type: "array" 8967 items: 8968 $ref: "#/definitions/Service" 8969 500: 8970 description: "server error" 8971 schema: 8972 $ref: "#/definitions/ErrorResponse" 8973 503: 8974 description: "node is not part of a swarm" 8975 schema: 8976 $ref: "#/definitions/ErrorResponse" 8977 parameters: 8978 - name: "filters" 8979 in: "query" 8980 type: "string" 8981 description: | 8982 A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters: 8983 8984 - `id=<service id>` 8985 - `label=<service label>` 8986 - `mode=["replicated"|"global"]` 8987 - `name=<service name>` 8988 tags: ["Service"] 8989 /services/create: 8990 post: 8991 summary: "Create a service" 8992 operationId: "ServiceCreate" 8993 consumes: 8994 - "application/json" 8995 produces: 8996 - "application/json" 8997 responses: 8998 201: 8999 description: "no error" 9000 schema: 9001 type: "object" 9002 title: "ServiceCreateResponse" 9003 properties: 9004 ID: 9005 description: "The ID of the created service." 9006 type: "string" 9007 Warning: 9008 description: "Optional warning message" 9009 type: "string" 9010 example: 9011 ID: "ak7w3gjqoa3kuz8xcpnyy0pvl" 9012 Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" 9013 400: 9014 description: "bad parameter" 9015 schema: 9016 $ref: "#/definitions/ErrorResponse" 9017 403: 9018 description: "network is not eligible for services" 9019 schema: 9020 $ref: "#/definitions/ErrorResponse" 9021 409: 9022 description: "name conflicts with an existing service" 9023 schema: 9024 $ref: "#/definitions/ErrorResponse" 9025 500: 9026 description: "server error" 9027 schema: 9028 $ref: "#/definitions/ErrorResponse" 9029 503: 9030 description: "node is not part of a swarm" 9031 schema: 9032 $ref: "#/definitions/ErrorResponse" 9033 parameters: 9034 - name: "body" 9035 in: "body" 9036 required: true 9037 schema: 9038 allOf: 9039 - $ref: "#/definitions/ServiceSpec" 9040 - type: "object" 9041 example: 9042 Name: "web" 9043 TaskTemplate: 9044 ContainerSpec: 9045 Image: "nginx:alpine" 9046 Mounts: 9047 - 9048 ReadOnly: true 9049 Source: "web-data" 9050 Target: "/usr/share/nginx/html" 9051 Type: "volume" 9052 VolumeOptions: 9053 DriverConfig: {} 9054 Labels: 9055 com.example.something: "something-value" 9056 Hosts: ["10.10.10.10 host1", "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2"] 9057 User: "33" 9058 DNSConfig: 9059 Nameservers: ["8.8.8.8"] 9060 Search: ["example.org"] 9061 Options: ["timeout:3"] 9062 Secrets: 9063 - 9064 File: 9065 Name: "www.example.org.key" 9066 UID: "33" 9067 GID: "33" 9068 Mode: 384 9069 SecretID: "fpjqlhnwb19zds35k8wn80lq9" 9070 SecretName: "example_org_domain_key" 9071 LogDriver: 9072 Name: "json-file" 9073 Options: 9074 max-file: "3" 9075 max-size: "10M" 9076 Placement: {} 9077 Resources: 9078 Limits: 9079 MemoryBytes: 104857600 9080 Reservations: {} 9081 RestartPolicy: 9082 Condition: "on-failure" 9083 Delay: 10000000000 9084 MaxAttempts: 10 9085 Mode: 9086 Replicated: 9087 Replicas: 4 9088 UpdateConfig: 9089 Parallelism: 2 9090 Delay: 1000000000 9091 FailureAction: "pause" 9092 Monitor: 15000000000 9093 MaxFailureRatio: 0.15 9094 RollbackConfig: 9095 Parallelism: 1 9096 Delay: 1000000000 9097 FailureAction: "pause" 9098 Monitor: 15000000000 9099 MaxFailureRatio: 0.15 9100 EndpointSpec: 9101 Ports: 9102 - 9103 Protocol: "tcp" 9104 PublishedPort: 8080 9105 TargetPort: 80 9106 Labels: 9107 foo: "bar" 9108 - name: "X-Registry-Auth" 9109 in: "header" 9110 description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)" 9111 type: "string" 9112 tags: ["Service"] 9113 /services/{id}: 9114 get: 9115 summary: "Inspect a service" 9116 operationId: "ServiceInspect" 9117 responses: 9118 200: 9119 description: "no error" 9120 schema: 9121 $ref: "#/definitions/Service" 9122 404: 9123 description: "no such service" 9124 schema: 9125 $ref: "#/definitions/ErrorResponse" 9126 500: 9127 description: "server error" 9128 schema: 9129 $ref: "#/definitions/ErrorResponse" 9130 503: 9131 description: "node is not part of a swarm" 9132 schema: 9133 $ref: "#/definitions/ErrorResponse" 9134 parameters: 9135 - name: "id" 9136 in: "path" 9137 description: "ID or name of service." 9138 required: true 9139 type: "string" 9140 - name: "insertDefaults" 9141 in: "query" 9142 description: "Fill empty fields with default values." 9143 type: "boolean" 9144 default: false 9145 tags: ["Service"] 9146 delete: 9147 summary: "Delete a service" 9148 operationId: "ServiceDelete" 9149 responses: 9150 200: 9151 description: "no error" 9152 404: 9153 description: "no such service" 9154 schema: 9155 $ref: "#/definitions/ErrorResponse" 9156 500: 9157 description: "server error" 9158 schema: 9159 $ref: "#/definitions/ErrorResponse" 9160 503: 9161 description: "node is not part of a swarm" 9162 schema: 9163 $ref: "#/definitions/ErrorResponse" 9164 parameters: 9165 - name: "id" 9166 in: "path" 9167 description: "ID or name of service." 9168 required: true 9169 type: "string" 9170 tags: ["Service"] 9171 /services/{id}/update: 9172 post: 9173 summary: "Update a service" 9174 operationId: "ServiceUpdate" 9175 consumes: ["application/json"] 9176 produces: ["application/json"] 9177 responses: 9178 200: 9179 description: "no error" 9180 schema: 9181 $ref: "#/definitions/ServiceUpdateResponse" 9182 400: 9183 description: "bad parameter" 9184 schema: 9185 $ref: "#/definitions/ErrorResponse" 9186 404: 9187 description: "no such service" 9188 schema: 9189 $ref: "#/definitions/ErrorResponse" 9190 500: 9191 description: "server error" 9192 schema: 9193 $ref: "#/definitions/ErrorResponse" 9194 503: 9195 description: "node is not part of a swarm" 9196 schema: 9197 $ref: "#/definitions/ErrorResponse" 9198 parameters: 9199 - name: "id" 9200 in: "path" 9201 description: "ID or name of service." 9202 required: true 9203 type: "string" 9204 - name: "body" 9205 in: "body" 9206 required: true 9207 schema: 9208 allOf: 9209 - $ref: "#/definitions/ServiceSpec" 9210 - type: "object" 9211 example: 9212 Name: "top" 9213 TaskTemplate: 9214 ContainerSpec: 9215 Image: "busybox" 9216 Args: 9217 - "top" 9218 Resources: 9219 Limits: {} 9220 Reservations: {} 9221 RestartPolicy: 9222 Condition: "any" 9223 MaxAttempts: 0 9224 Placement: {} 9225 ForceUpdate: 0 9226 Mode: 9227 Replicated: 9228 Replicas: 1 9229 UpdateConfig: 9230 Parallelism: 2 9231 Delay: 1000000000 9232 FailureAction: "pause" 9233 Monitor: 15000000000 9234 MaxFailureRatio: 0.15 9235 RollbackConfig: 9236 Parallelism: 1 9237 Delay: 1000000000 9238 FailureAction: "pause" 9239 Monitor: 15000000000 9240 MaxFailureRatio: 0.15 9241 EndpointSpec: 9242 Mode: "vip" 9243 9244 - name: "version" 9245 in: "query" 9246 description: "The version number of the service object being updated. This is required to avoid conflicting writes." 9247 required: true 9248 type: "integer" 9249 - name: "registryAuthFrom" 9250 in: "query" 9251 type: "string" 9252 description: "If the X-Registry-Auth header is not specified, this 9253 parameter indicates where to find registry authorization credentials. The 9254 valid values are `spec` and `previous-spec`." 9255 default: "spec" 9256 - name: "rollback" 9257 in: "query" 9258 type: "string" 9259 description: "Set to this parameter to `previous` to cause a 9260 server-side rollback to the previous service spec. The supplied spec will be 9261 ignored in this case." 9262 - name: "X-Registry-Auth" 9263 in: "header" 9264 description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)" 9265 type: "string" 9266 9267 tags: ["Service"] 9268 /services/{id}/logs: 9269 get: 9270 summary: "Get service logs" 9271 description: | 9272 Get `stdout` and `stderr` logs from a service. 9273 9274 **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers. 9275 operationId: "ServiceLogs" 9276 produces: 9277 - "application/vnd.docker.raw-stream" 9278 - "application/json" 9279 responses: 9280 101: 9281 description: "logs returned as a stream" 9282 schema: 9283 type: "string" 9284 format: "binary" 9285 200: 9286 description: "logs returned as a string in response body" 9287 schema: 9288 type: "string" 9289 404: 9290 description: "no such service" 9291 schema: 9292 $ref: "#/definitions/ErrorResponse" 9293 examples: 9294 application/json: 9295 message: "No such service: c2ada9df5af8" 9296 500: 9297 description: "server error" 9298 schema: 9299 $ref: "#/definitions/ErrorResponse" 9300 503: 9301 description: "node is not part of a swarm" 9302 schema: 9303 $ref: "#/definitions/ErrorResponse" 9304 parameters: 9305 - name: "id" 9306 in: "path" 9307 required: true 9308 description: "ID or name of the service" 9309 type: "string" 9310 - name: "details" 9311 in: "query" 9312 description: "Show service context and extra details provided to logs." 9313 type: "boolean" 9314 default: false 9315 - name: "follow" 9316 in: "query" 9317 description: | 9318 Return the logs as a stream. 9319 9320 This will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach). 9321 type: "boolean" 9322 default: false 9323 - name: "stdout" 9324 in: "query" 9325 description: "Return logs from `stdout`" 9326 type: "boolean" 9327 default: false 9328 - name: "stderr" 9329 in: "query" 9330 description: "Return logs from `stderr`" 9331 type: "boolean" 9332 default: false 9333 - name: "since" 9334 in: "query" 9335 description: "Only return logs since this time, as a UNIX timestamp" 9336 type: "integer" 9337 default: 0 9338 - name: "timestamps" 9339 in: "query" 9340 description: "Add timestamps to every log line" 9341 type: "boolean" 9342 default: false 9343 - name: "tail" 9344 in: "query" 9345 description: "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines." 9346 type: "string" 9347 default: "all" 9348 tags: ["Service"] 9349 /tasks: 9350 get: 9351 summary: "List tasks" 9352 operationId: "TaskList" 9353 produces: 9354 - "application/json" 9355 responses: 9356 200: 9357 description: "no error" 9358 schema: 9359 type: "array" 9360 items: 9361 $ref: "#/definitions/Task" 9362 example: 9363 - ID: "0kzzo1i0y4jz6027t0k7aezc7" 9364 Version: 9365 Index: 71 9366 CreatedAt: "2016-06-07T21:07:31.171892745Z" 9367 UpdatedAt: "2016-06-07T21:07:31.376370513Z" 9368 Spec: 9369 ContainerSpec: 9370 Image: "redis" 9371 Resources: 9372 Limits: {} 9373 Reservations: {} 9374 RestartPolicy: 9375 Condition: "any" 9376 MaxAttempts: 0 9377 Placement: {} 9378 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 9379 Slot: 1 9380 NodeID: "60gvrl6tm78dmak4yl7srz94v" 9381 Status: 9382 Timestamp: "2016-06-07T21:07:31.290032978Z" 9383 State: "running" 9384 Message: "started" 9385 ContainerStatus: 9386 ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035" 9387 PID: 677 9388 DesiredState: "running" 9389 NetworksAttachments: 9390 - Network: 9391 ID: "4qvuz4ko70xaltuqbt8956gd1" 9392 Version: 9393 Index: 18 9394 CreatedAt: "2016-06-07T20:31:11.912919752Z" 9395 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 9396 Spec: 9397 Name: "ingress" 9398 Labels: 9399 com.docker.swarm.internal: "true" 9400 DriverConfiguration: {} 9401 IPAMOptions: 9402 Driver: {} 9403 Configs: 9404 - Subnet: "10.255.0.0/16" 9405 Gateway: "10.255.0.1" 9406 DriverState: 9407 Name: "overlay" 9408 Options: 9409 com.docker.network.driver.overlay.vxlanid_list: "256" 9410 IPAMOptions: 9411 Driver: 9412 Name: "default" 9413 Configs: 9414 - Subnet: "10.255.0.0/16" 9415 Gateway: "10.255.0.1" 9416 Addresses: 9417 - "10.255.0.10/16" 9418 - ID: "1yljwbmlr8er2waf8orvqpwms" 9419 Version: 9420 Index: 30 9421 CreatedAt: "2016-06-07T21:07:30.019104782Z" 9422 UpdatedAt: "2016-06-07T21:07:30.231958098Z" 9423 Name: "hopeful_cori" 9424 Spec: 9425 ContainerSpec: 9426 Image: "redis" 9427 Resources: 9428 Limits: {} 9429 Reservations: {} 9430 RestartPolicy: 9431 Condition: "any" 9432 MaxAttempts: 0 9433 Placement: {} 9434 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 9435 Slot: 1 9436 NodeID: "60gvrl6tm78dmak4yl7srz94v" 9437 Status: 9438 Timestamp: "2016-06-07T21:07:30.202183143Z" 9439 State: "shutdown" 9440 Message: "shutdown" 9441 ContainerStatus: 9442 ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" 9443 DesiredState: "shutdown" 9444 NetworksAttachments: 9445 - Network: 9446 ID: "4qvuz4ko70xaltuqbt8956gd1" 9447 Version: 9448 Index: 18 9449 CreatedAt: "2016-06-07T20:31:11.912919752Z" 9450 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 9451 Spec: 9452 Name: "ingress" 9453 Labels: 9454 com.docker.swarm.internal: "true" 9455 DriverConfiguration: {} 9456 IPAMOptions: 9457 Driver: {} 9458 Configs: 9459 - Subnet: "10.255.0.0/16" 9460 Gateway: "10.255.0.1" 9461 DriverState: 9462 Name: "overlay" 9463 Options: 9464 com.docker.network.driver.overlay.vxlanid_list: "256" 9465 IPAMOptions: 9466 Driver: 9467 Name: "default" 9468 Configs: 9469 - Subnet: "10.255.0.0/16" 9470 Gateway: "10.255.0.1" 9471 Addresses: 9472 - "10.255.0.5/16" 9473 500: 9474 description: "server error" 9475 schema: 9476 $ref: "#/definitions/ErrorResponse" 9477 503: 9478 description: "node is not part of a swarm" 9479 schema: 9480 $ref: "#/definitions/ErrorResponse" 9481 parameters: 9482 - name: "filters" 9483 in: "query" 9484 type: "string" 9485 description: | 9486 A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters: 9487 9488 - `desired-state=(running | shutdown | accepted)` 9489 - `id=<task id>` 9490 - `label=key` or `label="key=value"` 9491 - `name=<task name>` 9492 - `node=<node id or name>` 9493 - `service=<service name>` 9494 tags: ["Task"] 9495 /tasks/{id}: 9496 get: 9497 summary: "Inspect a task" 9498 operationId: "TaskInspect" 9499 produces: 9500 - "application/json" 9501 responses: 9502 200: 9503 description: "no error" 9504 schema: 9505 $ref: "#/definitions/Task" 9506 404: 9507 description: "no such task" 9508 schema: 9509 $ref: "#/definitions/ErrorResponse" 9510 500: 9511 description: "server error" 9512 schema: 9513 $ref: "#/definitions/ErrorResponse" 9514 503: 9515 description: "node is not part of a swarm" 9516 schema: 9517 $ref: "#/definitions/ErrorResponse" 9518 parameters: 9519 - name: "id" 9520 in: "path" 9521 description: "ID of the task" 9522 required: true 9523 type: "string" 9524 tags: ["Task"] 9525 /tasks/{id}/logs: 9526 get: 9527 summary: "Get task logs" 9528 description: | 9529 Get `stdout` and `stderr` logs from a task. 9530 9531 **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers. 9532 operationId: "TaskLogs" 9533 produces: 9534 - "application/vnd.docker.raw-stream" 9535 - "application/json" 9536 responses: 9537 101: 9538 description: "logs returned as a stream" 9539 schema: 9540 type: "string" 9541 format: "binary" 9542 200: 9543 description: "logs returned as a string in response body" 9544 schema: 9545 type: "string" 9546 404: 9547 description: "no such task" 9548 schema: 9549 $ref: "#/definitions/ErrorResponse" 9550 examples: 9551 application/json: 9552 message: "No such task: c2ada9df5af8" 9553 500: 9554 description: "server error" 9555 schema: 9556 $ref: "#/definitions/ErrorResponse" 9557 503: 9558 description: "node is not part of a swarm" 9559 schema: 9560 $ref: "#/definitions/ErrorResponse" 9561 parameters: 9562 - name: "id" 9563 in: "path" 9564 required: true 9565 description: "ID of the task" 9566 type: "string" 9567 - name: "details" 9568 in: "query" 9569 description: "Show task context and extra details provided to logs." 9570 type: "boolean" 9571 default: false 9572 - name: "follow" 9573 in: "query" 9574 description: | 9575 Return the logs as a stream. 9576 9577 This will return a `101` HTTP response with a `Connection: upgrade` header, then hijack the HTTP connection to send raw output. For more information about hijacking and the stream format, [see the documentation for the attach endpoint](#operation/ContainerAttach). 9578 type: "boolean" 9579 default: false 9580 - name: "stdout" 9581 in: "query" 9582 description: "Return logs from `stdout`" 9583 type: "boolean" 9584 default: false 9585 - name: "stderr" 9586 in: "query" 9587 description: "Return logs from `stderr`" 9588 type: "boolean" 9589 default: false 9590 - name: "since" 9591 in: "query" 9592 description: "Only return logs since this time, as a UNIX timestamp" 9593 type: "integer" 9594 default: 0 9595 - name: "timestamps" 9596 in: "query" 9597 description: "Add timestamps to every log line" 9598 type: "boolean" 9599 default: false 9600 - name: "tail" 9601 in: "query" 9602 description: "Only return this number of log lines from the end of the logs. Specify as an integer or `all` to output all log lines." 9603 type: "string" 9604 default: "all" 9605 /secrets: 9606 get: 9607 summary: "List secrets" 9608 operationId: "SecretList" 9609 produces: 9610 - "application/json" 9611 responses: 9612 200: 9613 description: "no error" 9614 schema: 9615 type: "array" 9616 items: 9617 $ref: "#/definitions/Secret" 9618 example: 9619 - ID: "blt1owaxmitz71s9v5zh81zun" 9620 Version: 9621 Index: 85 9622 CreatedAt: "2017-07-20T13:55:28.678958722Z" 9623 UpdatedAt: "2017-07-20T13:55:28.678958722Z" 9624 Spec: 9625 Name: "mysql-passwd" 9626 Labels: 9627 some.label: "some.value" 9628 Driver: 9629 Name: "secret-bucket" 9630 Options: 9631 OptionA: "value for driver option A" 9632 OptionB: "value for driver option B" 9633 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 9634 Version: 9635 Index: 11 9636 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9637 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9638 Spec: 9639 Name: "app-dev.crt" 9640 Labels: 9641 foo: "bar" 9642 500: 9643 description: "server error" 9644 schema: 9645 $ref: "#/definitions/ErrorResponse" 9646 503: 9647 description: "node is not part of a swarm" 9648 schema: 9649 $ref: "#/definitions/ErrorResponse" 9650 parameters: 9651 - name: "filters" 9652 in: "query" 9653 type: "string" 9654 description: | 9655 A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters: 9656 9657 - `id=<secret id>` 9658 - `label=<key> or label=<key>=value` 9659 - `name=<secret name>` 9660 - `names=<secret name>` 9661 tags: ["Secret"] 9662 /secrets/create: 9663 post: 9664 summary: "Create a secret" 9665 operationId: "SecretCreate" 9666 consumes: 9667 - "application/json" 9668 produces: 9669 - "application/json" 9670 responses: 9671 201: 9672 description: "no error" 9673 schema: 9674 $ref: "#/definitions/IdResponse" 9675 409: 9676 description: "name conflicts with an existing object" 9677 schema: 9678 $ref: "#/definitions/ErrorResponse" 9679 500: 9680 description: "server error" 9681 schema: 9682 $ref: "#/definitions/ErrorResponse" 9683 503: 9684 description: "node is not part of a swarm" 9685 schema: 9686 $ref: "#/definitions/ErrorResponse" 9687 parameters: 9688 - name: "body" 9689 in: "body" 9690 schema: 9691 allOf: 9692 - $ref: "#/definitions/SecretSpec" 9693 - type: "object" 9694 example: 9695 Name: "app-key.crt" 9696 Labels: 9697 foo: "bar" 9698 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 9699 Driver: 9700 Name: "secret-bucket" 9701 Options: 9702 OptionA: "value for driver option A" 9703 OptionB: "value for driver option B" 9704 tags: ["Secret"] 9705 /secrets/{id}: 9706 get: 9707 summary: "Inspect a secret" 9708 operationId: "SecretInspect" 9709 produces: 9710 - "application/json" 9711 responses: 9712 200: 9713 description: "no error" 9714 schema: 9715 $ref: "#/definitions/Secret" 9716 examples: 9717 application/json: 9718 ID: "ktnbjxoalbkvbvedmg1urrz8h" 9719 Version: 9720 Index: 11 9721 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9722 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9723 Spec: 9724 Name: "app-dev.crt" 9725 Labels: 9726 foo: "bar" 9727 Driver: 9728 Name: "secret-bucket" 9729 Options: 9730 OptionA: "value for driver option A" 9731 OptionB: "value for driver option B" 9732 9733 404: 9734 description: "secret not found" 9735 schema: 9736 $ref: "#/definitions/ErrorResponse" 9737 500: 9738 description: "server error" 9739 schema: 9740 $ref: "#/definitions/ErrorResponse" 9741 503: 9742 description: "node is not part of a swarm" 9743 schema: 9744 $ref: "#/definitions/ErrorResponse" 9745 parameters: 9746 - name: "id" 9747 in: "path" 9748 required: true 9749 type: "string" 9750 description: "ID of the secret" 9751 tags: ["Secret"] 9752 delete: 9753 summary: "Delete a secret" 9754 operationId: "SecretDelete" 9755 produces: 9756 - "application/json" 9757 responses: 9758 204: 9759 description: "no error" 9760 404: 9761 description: "secret not found" 9762 schema: 9763 $ref: "#/definitions/ErrorResponse" 9764 500: 9765 description: "server error" 9766 schema: 9767 $ref: "#/definitions/ErrorResponse" 9768 503: 9769 description: "node is not part of a swarm" 9770 schema: 9771 $ref: "#/definitions/ErrorResponse" 9772 parameters: 9773 - name: "id" 9774 in: "path" 9775 required: true 9776 type: "string" 9777 description: "ID of the secret" 9778 tags: ["Secret"] 9779 /secrets/{id}/update: 9780 post: 9781 summary: "Update a Secret" 9782 operationId: "SecretUpdate" 9783 responses: 9784 200: 9785 description: "no error" 9786 400: 9787 description: "bad parameter" 9788 schema: 9789 $ref: "#/definitions/ErrorResponse" 9790 404: 9791 description: "no such secret" 9792 schema: 9793 $ref: "#/definitions/ErrorResponse" 9794 500: 9795 description: "server error" 9796 schema: 9797 $ref: "#/definitions/ErrorResponse" 9798 503: 9799 description: "node is not part of a swarm" 9800 schema: 9801 $ref: "#/definitions/ErrorResponse" 9802 parameters: 9803 - name: "id" 9804 in: "path" 9805 description: "The ID or name of the secret" 9806 type: "string" 9807 required: true 9808 - name: "body" 9809 in: "body" 9810 schema: 9811 $ref: "#/definitions/SecretSpec" 9812 description: "The spec of the secret to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [SecretInspect endpoint](#operation/SecretInspect) response values." 9813 - name: "version" 9814 in: "query" 9815 description: "The version number of the secret object being updated. This is required to avoid conflicting writes." 9816 type: "integer" 9817 format: "int64" 9818 required: true 9819 tags: ["Secret"] 9820 /configs: 9821 get: 9822 summary: "List configs" 9823 operationId: "ConfigList" 9824 produces: 9825 - "application/json" 9826 responses: 9827 200: 9828 description: "no error" 9829 schema: 9830 type: "array" 9831 items: 9832 $ref: "#/definitions/Config" 9833 example: 9834 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 9835 Version: 9836 Index: 11 9837 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9838 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9839 Spec: 9840 Name: "server.conf" 9841 500: 9842 description: "server error" 9843 schema: 9844 $ref: "#/definitions/ErrorResponse" 9845 503: 9846 description: "node is not part of a swarm" 9847 schema: 9848 $ref: "#/definitions/ErrorResponse" 9849 parameters: 9850 - name: "filters" 9851 in: "query" 9852 type: "string" 9853 description: | 9854 A JSON encoded value of the filters (a `map[string][]string`) to process on the configs list. Available filters: 9855 9856 - `id=<config id>` 9857 - `label=<key> or label=<key>=value` 9858 - `name=<config name>` 9859 - `names=<config name>` 9860 tags: ["Config"] 9861 /configs/create: 9862 post: 9863 summary: "Create a config" 9864 operationId: "ConfigCreate" 9865 consumes: 9866 - "application/json" 9867 produces: 9868 - "application/json" 9869 responses: 9870 201: 9871 description: "no error" 9872 schema: 9873 $ref: "#/definitions/IdResponse" 9874 409: 9875 description: "name conflicts with an existing object" 9876 schema: 9877 $ref: "#/definitions/ErrorResponse" 9878 500: 9879 description: "server error" 9880 schema: 9881 $ref: "#/definitions/ErrorResponse" 9882 503: 9883 description: "node is not part of a swarm" 9884 schema: 9885 $ref: "#/definitions/ErrorResponse" 9886 parameters: 9887 - name: "body" 9888 in: "body" 9889 schema: 9890 allOf: 9891 - $ref: "#/definitions/ConfigSpec" 9892 - type: "object" 9893 example: 9894 Name: "server.conf" 9895 Labels: 9896 foo: "bar" 9897 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 9898 tags: ["Config"] 9899 /configs/{id}: 9900 get: 9901 summary: "Inspect a config" 9902 operationId: "ConfigInspect" 9903 produces: 9904 - "application/json" 9905 responses: 9906 200: 9907 description: "no error" 9908 schema: 9909 $ref: "#/definitions/Config" 9910 examples: 9911 application/json: 9912 ID: "ktnbjxoalbkvbvedmg1urrz8h" 9913 Version: 9914 Index: 11 9915 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9916 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9917 Spec: 9918 Name: "app-dev.crt" 9919 404: 9920 description: "config not found" 9921 schema: 9922 $ref: "#/definitions/ErrorResponse" 9923 500: 9924 description: "server error" 9925 schema: 9926 $ref: "#/definitions/ErrorResponse" 9927 503: 9928 description: "node is not part of a swarm" 9929 schema: 9930 $ref: "#/definitions/ErrorResponse" 9931 parameters: 9932 - name: "id" 9933 in: "path" 9934 required: true 9935 type: "string" 9936 description: "ID of the config" 9937 tags: ["Config"] 9938 delete: 9939 summary: "Delete a config" 9940 operationId: "ConfigDelete" 9941 produces: 9942 - "application/json" 9943 responses: 9944 204: 9945 description: "no error" 9946 404: 9947 description: "config not found" 9948 schema: 9949 $ref: "#/definitions/ErrorResponse" 9950 500: 9951 description: "server error" 9952 schema: 9953 $ref: "#/definitions/ErrorResponse" 9954 503: 9955 description: "node is not part of a swarm" 9956 schema: 9957 $ref: "#/definitions/ErrorResponse" 9958 parameters: 9959 - name: "id" 9960 in: "path" 9961 required: true 9962 type: "string" 9963 description: "ID of the config" 9964 tags: ["Config"] 9965 /configs/{id}/update: 9966 post: 9967 summary: "Update a Config" 9968 operationId: "ConfigUpdate" 9969 responses: 9970 200: 9971 description: "no error" 9972 400: 9973 description: "bad parameter" 9974 schema: 9975 $ref: "#/definitions/ErrorResponse" 9976 404: 9977 description: "no such config" 9978 schema: 9979 $ref: "#/definitions/ErrorResponse" 9980 500: 9981 description: "server error" 9982 schema: 9983 $ref: "#/definitions/ErrorResponse" 9984 503: 9985 description: "node is not part of a swarm" 9986 schema: 9987 $ref: "#/definitions/ErrorResponse" 9988 parameters: 9989 - name: "id" 9990 in: "path" 9991 description: "The ID or name of the config" 9992 type: "string" 9993 required: true 9994 - name: "body" 9995 in: "body" 9996 schema: 9997 $ref: "#/definitions/ConfigSpec" 9998 description: "The spec of the config to update. Currently, only the Labels field can be updated. All other fields must remain unchanged from the [ConfigInspect endpoint](#operation/ConfigInspect) response values." 9999 - name: "version" 10000 in: "query" 10001 description: "The version number of the config object being updated. This is required to avoid conflicting writes." 10002 type: "integer" 10003 format: "int64" 10004 required: true 10005 tags: ["Config"] 10006 /distribution/{name}/json: 10007 get: 10008 summary: "Get image information from the registry" 10009 description: "Return image digest and platform information by contacting the registry." 10010 operationId: "DistributionInspect" 10011 produces: 10012 - "application/json" 10013 responses: 10014 200: 10015 description: "descriptor and platform information" 10016 schema: 10017 type: "object" 10018 x-go-name: DistributionInspect 10019 title: "DistributionInspectResponse" 10020 required: [Descriptor, Platforms] 10021 properties: 10022 Descriptor: 10023 type: "object" 10024 description: "A descriptor struct containing digest, media type, and size" 10025 properties: 10026 MediaType: 10027 type: "string" 10028 Size: 10029 type: "integer" 10030 format: "int64" 10031 Digest: 10032 type: "string" 10033 URLs: 10034 type: "array" 10035 items: 10036 type: "string" 10037 Platforms: 10038 type: "array" 10039 description: "An array containing all platforms supported by the image" 10040 items: 10041 type: "object" 10042 properties: 10043 Architecture: 10044 type: "string" 10045 OS: 10046 type: "string" 10047 OSVersion: 10048 type: "string" 10049 OSFeatures: 10050 type: "array" 10051 items: 10052 type: "string" 10053 Variant: 10054 type: "string" 10055 Features: 10056 type: "array" 10057 items: 10058 type: "string" 10059 examples: 10060 application/json: 10061 Descriptor: 10062 MediaType: "application/vnd.docker.distribution.manifest.v2+json" 10063 Digest: "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96" 10064 Size: 3987495 10065 URLs: 10066 - "" 10067 Platforms: 10068 - Architecture: "amd64" 10069 OS: "linux" 10070 OSVersion: "" 10071 OSFeatures: 10072 - "" 10073 Variant: "" 10074 Features: 10075 - "" 10076 401: 10077 description: "Failed authentication or no image found" 10078 schema: 10079 $ref: "#/definitions/ErrorResponse" 10080 examples: 10081 application/json: 10082 message: "No such image: someimage (tag: latest)" 10083 500: 10084 description: "Server error" 10085 schema: 10086 $ref: "#/definitions/ErrorResponse" 10087 parameters: 10088 - name: "name" 10089 in: "path" 10090 description: "Image name or id" 10091 type: "string" 10092 required: true 10093 tags: ["Distribution"] 10094 /session: 10095 post: 10096 summary: "Initialize interactive session" 10097 description: | 10098 Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities. 10099 10100 > **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental 10101 > features enabled. The specifications for this endpoint may still change in a future version of the API. 10102 10103 ### Hijacking 10104 10105 This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection. 10106 10107 For example, the client sends this request to upgrade the connection: 10108 10109 ``` 10110 POST /session HTTP/1.1 10111 Upgrade: h2c 10112 Connection: Upgrade 10113 ``` 10114 10115 The Docker daemon will respond with a `101 UPGRADED` response follow with the raw stream: 10116 10117 ``` 10118 HTTP/1.1 101 UPGRADED 10119 Connection: Upgrade 10120 Upgrade: h2c 10121 ``` 10122 operationId: "Session" 10123 produces: 10124 - "application/vnd.docker.raw-stream" 10125 responses: 10126 101: 10127 description: "no error, hijacking successful" 10128 400: 10129 description: "bad parameter" 10130 schema: 10131 $ref: "#/definitions/ErrorResponse" 10132 500: 10133 description: "server error" 10134 schema: 10135 $ref: "#/definitions/ErrorResponse" 10136 tags: ["Session (experimental)"]