github.com/demonoid81/moby@v0.0.0-20200517203328-62dd8e17c460/docs/api/v1.25.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.25" 23 info: 24 title: "Docker Engine API" 25 version: "1.25" 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 of Docker, so API calls are versioned to ensure that clients don't break. 46 47 For Docker Engine 1.13, the API version is 1.25. To lock to this version, you prefix the URL with `/v1.25`. For example, calling `/info` is the same as calling `/v1.25/info`. 48 49 Engine releases in the near future should support this version of the API, so your client will continue to work even if it is talking to a newer Engine. 50 51 In previous versions of Docker, it was possible to access the API without providing a version. This behaviour is now deprecated will be removed in a future version of Docker. 52 53 The API uses an open schema model, which means server may add extra properties to responses. Likewise, the server will ignore any extra query parameters and request body properties. When you write clients, you need to ignore additional properties in responses to ensure they do not break when talking to newer Docker daemons. 54 55 This documentation is for version 1.25 of the API, which was introduced with Docker 1.13. Use this table to find documentation for previous versions of the API: 56 57 Docker version | API version | Changes 58 ----------------|-------------|--------- 59 1.12.x | [1.24](https://docs.docker.com/engine/api/v1.24/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-24-api-changes) 60 1.11.x | [1.23](https://docs.docker.com/engine/api/v1.23/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-23-api-changes) 61 1.10.x | [1.22](https://docs.docker.com/engine/api/v1.22/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-22-api-changes) 62 1.9.x | [1.21](https://docs.docker.com/engine/api/v1.21/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-21-api-changes) 63 1.8.x | [1.20](https://docs.docker.com/engine/api/v1.20/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-20-api-changes) 64 1.7.x | [1.19](https://docs.docker.com/engine/api/v1.19/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-19-api-changes) 65 1.6.x | [1.18](https://docs.docker.com/engine/api/v1.18/) | [API changes](https://docs.docker.com/engine/api/version-history/#v1-18-api-changes) 66 67 # Authentication 68 69 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: 70 71 ``` 72 { 73 "username": "string", 74 "password": "string", 75 "email": "string", 76 "serveraddress": "string" 77 } 78 ``` 79 80 The `serveraddress` is a domain/IP without a protocol. Throughout this structure, double quotes are required. 81 82 If you have already got an identity token from the [`/auth` endpoint](#operation/SystemAuth), you can just pass this instead of credentials: 83 84 ``` 85 { 86 "identitytoken": "9cbaf023786cd7..." 87 } 88 ``` 89 90 # The tags on paths define the menu sections in the ReDoc documentation, so 91 # the usage of tags must make sense for that: 92 # - They should be singular, not plural. 93 # - There should not be too many tags, or the menu becomes unwieldly. For 94 # example, it is preferable to add a path to the "System" tag instead of 95 # creating a tag with a single path in it. 96 # - The order of tags in this list defines the order in the menu. 97 tags: 98 # Primary objects 99 - name: "Container" 100 x-displayName: "Containers" 101 description: | 102 Create and manage containers. 103 - name: "Image" 104 x-displayName: "Images" 105 - name: "Network" 106 x-displayName: "Networks" 107 description: | 108 Networks are user-defined networks that containers can be attached to. See the [networking documentation](https://docs.docker.com/engine/userguide/networking/) for more information. 109 - name: "Volume" 110 x-displayName: "Volumes" 111 description: | 112 Create and manage persistent storage that can be attached to containers. 113 - name: "Exec" 114 x-displayName: "Exec" 115 description: | 116 Run new commands inside running containers. See the [command-line reference](https://docs.docker.com/engine/reference/commandline/exec/) for more information. 117 118 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`. 119 - name: "Secret" 120 x-displayName: "Secrets" 121 # Swarm things 122 - name: "Swarm" 123 x-displayName: "Swarm" 124 description: | 125 Engines can be clustered together in a swarm. See [the swarm mode documentation](https://docs.docker.com/engine/swarm/) for more information. 126 - name: "Node" 127 x-displayName: "Nodes" 128 description: | 129 Nodes are instances of the Engine participating in a swarm. Swarm mode must be enabled for these endpoints to work. 130 - name: "Service" 131 x-displayName: "Services" 132 description: | 133 Services are the definitions of tasks to run on a swarm. Swarm mode must be enabled for these endpoints to work. 134 - name: "Task" 135 x-displayName: "Tasks" 136 description: | 137 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. 138 # System things 139 - name: "Plugin" 140 x-displayName: "Plugins" 141 - name: "System" 142 x-displayName: "System" 143 144 definitions: 145 Port: 146 type: "object" 147 description: "An open port on a container" 148 required: [PrivatePort, Type] 149 properties: 150 IP: 151 type: "string" 152 format: "ip-address" 153 PrivatePort: 154 type: "integer" 155 format: "uint16" 156 x-nullable: false 157 description: "Port on the container" 158 PublicPort: 159 type: "integer" 160 format: "uint16" 161 description: "Port exposed on the host" 162 Type: 163 type: "string" 164 x-nullable: false 165 enum: ["tcp", "udp"] 166 example: 167 PrivatePort: 8080 168 PublicPort: 80 169 Type: "tcp" 170 171 MountPoint: 172 type: "object" 173 description: "A mount point inside a container" 174 properties: 175 Type: 176 type: "string" 177 Name: 178 type: "string" 179 Source: 180 type: "string" 181 Destination: 182 type: "string" 183 Driver: 184 type: "string" 185 Mode: 186 type: "string" 187 RW: 188 type: "boolean" 189 Propagation: 190 type: "string" 191 192 DeviceMapping: 193 type: "object" 194 description: "A device mapping between the host and container" 195 properties: 196 PathOnHost: 197 type: "string" 198 PathInContainer: 199 type: "string" 200 CgroupPermissions: 201 type: "string" 202 example: 203 PathOnHost: "/dev/deviceName" 204 PathInContainer: "/dev/deviceName" 205 CgroupPermissions: "mrw" 206 207 ThrottleDevice: 208 type: "object" 209 properties: 210 Path: 211 description: "Device path" 212 type: "string" 213 Rate: 214 description: "Rate" 215 type: "integer" 216 format: "int64" 217 minimum: 0 218 219 Mount: 220 type: "object" 221 properties: 222 Target: 223 description: "Container path." 224 type: "string" 225 Source: 226 description: "Mount source (e.g. a volume name, a host path)." 227 Type: 228 description: | 229 The mount type. Available types: 230 231 - `bind` Mounts a file or directory from the host into the container. Must exist prior to creating the container. 232 - `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. 233 - `tmpfs` Create a tmpfs with the given options. The mount source cannot be specified for tmpfs. 234 type: "string" 235 enum: 236 - "bind" 237 - "volume" 238 - "tmpfs" 239 ReadOnly: 240 description: "Whether the mount should be read-only." 241 type: "boolean" 242 BindOptions: 243 description: "Optional configuration for the `bind` type." 244 type: "object" 245 properties: 246 Propagation: 247 description: "A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`." 248 enum: 249 - "private" 250 - "rprivate" 251 - "shared" 252 - "rshared" 253 - "slave" 254 - "rslave" 255 VolumeOptions: 256 description: "Optional configuration for the `volume` type." 257 type: "object" 258 properties: 259 NoCopy: 260 description: "Populate volume with data from the target." 261 type: "boolean" 262 default: false 263 Labels: 264 description: "User-defined key/value metadata." 265 type: "object" 266 additionalProperties: 267 type: "string" 268 DriverConfig: 269 description: "Map of driver specific options" 270 type: "object" 271 properties: 272 Name: 273 description: "Name of the driver to use to create the volume." 274 type: "string" 275 Options: 276 description: "key/value map of driver specific options." 277 type: "object" 278 additionalProperties: 279 type: "string" 280 TmpfsOptions: 281 description: "Optional configuration for the `tmpfs` type." 282 type: "object" 283 properties: 284 SizeBytes: 285 description: "The size for the tmpfs mount in bytes." 286 type: "integer" 287 format: "int64" 288 Mode: 289 description: "The permission mode for the tmpfs mount in an integer." 290 type: "integer" 291 RestartPolicy: 292 description: | 293 The behavior to apply when the container exits. The default is not to restart. 294 295 An ever increasing delay (double the previous delay, starting at 100ms) is added before each restart to prevent flooding the server. 296 type: "object" 297 properties: 298 Name: 299 type: "string" 300 description: | 301 - `always` Always restart 302 - `unless-stopped` Restart always except when the user has manually stopped the container 303 - `on-failure` Restart only when the container exit code is non-zero 304 enum: 305 - "always" 306 - "unless-stopped" 307 - "on-failure" 308 MaximumRetryCount: 309 type: "integer" 310 description: "If `on-failure` is used, the number of times to retry before giving up" 311 default: {} 312 313 Resources: 314 description: "A container's resources (cgroups config, ulimits, etc)" 315 type: "object" 316 properties: 317 # Applicable to all platforms 318 CpuShares: 319 description: "An integer value representing this container's relative CPU weight versus other containers." 320 type: "integer" 321 Memory: 322 description: "Memory limit in bytes." 323 type: "integer" 324 default: 0 325 # Applicable to UNIX platforms 326 CgroupParent: 327 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." 328 type: "string" 329 BlkioWeight: 330 description: "Block IO weight (relative weight)." 331 type: "integer" 332 minimum: 0 333 maximum: 1000 334 BlkioWeightDevice: 335 description: | 336 Block IO weight (relative device weight) in the form `[{"Path": "device_path", "Weight": weight}]`. 337 type: "array" 338 items: 339 type: "object" 340 properties: 341 Path: 342 type: "string" 343 Weight: 344 type: "integer" 345 minimum: 0 346 BlkioDeviceReadBps: 347 description: | 348 Limit read rate (bytes per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 349 type: "array" 350 items: 351 $ref: "#/definitions/ThrottleDevice" 352 BlkioDeviceWriteBps: 353 description: | 354 Limit write rate (bytes per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 355 type: "array" 356 items: 357 $ref: "#/definitions/ThrottleDevice" 358 BlkioDeviceReadIOps: 359 description: | 360 Limit read rate (IO per second) from a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 361 type: "array" 362 items: 363 $ref: "#/definitions/ThrottleDevice" 364 BlkioDeviceWriteIOps: 365 description: | 366 Limit write rate (IO per second) to a device, in the form `[{"Path": "device_path", "Rate": rate}]`. 367 type: "array" 368 items: 369 $ref: "#/definitions/ThrottleDevice" 370 CpuPeriod: 371 description: "The length of a CPU period in microseconds." 372 type: "integer" 373 format: "int64" 374 CpuQuota: 375 description: "Microseconds of CPU time that the container can get in a CPU period." 376 type: "integer" 377 format: "int64" 378 CpuRealtimePeriod: 379 description: "The length of a CPU real-time period in microseconds. Set to 0 to allocate no time allocated to real-time tasks." 380 type: "integer" 381 format: "int64" 382 CpuRealtimeRuntime: 383 description: "The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no time allocated to real-time tasks." 384 type: "integer" 385 format: "int64" 386 CpusetCpus: 387 description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)" 388 type: "string" 389 CpusetMems: 390 description: "Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on NUMA systems." 391 type: "string" 392 Devices: 393 description: "A list of devices to add to the container." 394 type: "array" 395 items: 396 $ref: "#/definitions/DeviceMapping" 397 DiskQuota: 398 description: "Disk limit (in bytes)." 399 type: "integer" 400 format: "int64" 401 KernelMemory: 402 description: "Kernel memory limit in bytes." 403 type: "integer" 404 format: "int64" 405 MemoryReservation: 406 description: "Memory soft limit in bytes." 407 type: "integer" 408 format: "int64" 409 MemorySwap: 410 description: "Total memory limit (memory + swap). Set as `-1` to enable unlimited swap." 411 type: "integer" 412 format: "int64" 413 MemorySwappiness: 414 description: "Tune a container's memory swappiness behavior. Accepts an integer between 0 and 100." 415 type: "integer" 416 format: "int64" 417 minimum: 0 418 maximum: 100 419 NanoCPUs: 420 description: "CPU quota in units of 10<sup>-9</sup> CPUs." 421 type: "integer" 422 format: "int64" 423 OomKillDisable: 424 description: "Disable OOM Killer for the container." 425 type: "boolean" 426 PidsLimit: 427 description: "Tune a container's pids limit. Set -1 for unlimited." 428 type: "integer" 429 format: "int64" 430 Ulimits: 431 description: | 432 A list of resource limits to set in the container. For example: `{"Name": "nofile", "Soft": 1024, "Hard": 2048}`" 433 type: "array" 434 items: 435 type: "object" 436 properties: 437 Name: 438 description: "Name of ulimit" 439 type: "string" 440 Soft: 441 description: "Soft limit" 442 type: "integer" 443 Hard: 444 description: "Hard limit" 445 type: "integer" 446 # Applicable to Windows 447 CpuCount: 448 description: | 449 The number of usable CPUs (Windows only). 450 451 On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last. 452 type: "integer" 453 format: "int64" 454 CpuPercent: 455 description: | 456 The usable percentage of the available CPUs (Windows only). 457 458 On Windows Server containers, the processor resource controls are mutually exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and `CPUPercent` last. 459 type: "integer" 460 format: "int64" 461 IOMaximumIOps: 462 description: "Maximum IOps for the container system drive (Windows only)" 463 type: "integer" 464 format: "int64" 465 IOMaximumBandwidth: 466 description: "Maximum IO in bytes per second for the container system drive (Windows only)" 467 type: "integer" 468 format: "int64" 469 470 HostConfig: 471 description: "Container configuration that depends on the host we are running on" 472 allOf: 473 - $ref: "#/definitions/Resources" 474 - type: "object" 475 properties: 476 # Applicable to all platforms 477 Binds: 478 type: "array" 479 description: | 480 A list of volume bindings for this container. Each volume binding is a string in one of these forms: 481 482 - `host-src:container-dest` to bind-mount a host path into the container. Both `host-src`, and `container-dest` must be an _absolute_ path. 483 - `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. 484 - `volume-name:container-dest` to bind-mount a volume managed by a volume driver into the container. `container-dest` must be an _absolute_ path. 485 - `volume-name:container-dest:ro` to mount the volume read-only inside the container. `container-dest` must be an _absolute_ path. 486 items: 487 type: "string" 488 ContainerIDFile: 489 type: "string" 490 description: "Path to a file where the container ID is written" 491 LogConfig: 492 type: "object" 493 description: "The logging configuration for this container" 494 properties: 495 Type: 496 type: "string" 497 enum: 498 - "json-file" 499 - "syslog" 500 - "journald" 501 - "gelf" 502 - "fluentd" 503 - "awslogs" 504 - "splunk" 505 - "etwlogs" 506 - "none" 507 Config: 508 type: "object" 509 additionalProperties: 510 type: "string" 511 NetworkMode: 512 type: "string" 513 description: "Network mode to use for this container. Supported standard values are: `bridge`, `host`, `none`, and `container:<name|id>`. Any other value is taken 514 as a custom network's name to which this container should connect to." 515 PortBindings: 516 type: "object" 517 description: "A map of exposed container ports and the host port they should map to." 518 additionalProperties: 519 type: "object" 520 properties: 521 HostIp: 522 type: "string" 523 description: "The host IP address" 524 HostPort: 525 type: "string" 526 description: "The host port number, as a string" 527 RestartPolicy: 528 $ref: "#/definitions/RestartPolicy" 529 AutoRemove: 530 type: "boolean" 531 description: "Automatically remove the container when the container's process exits. This has no effect if `RestartPolicy` is set." 532 VolumeDriver: 533 type: "string" 534 description: "Driver that this container uses to mount volumes." 535 VolumesFrom: 536 type: "array" 537 description: "A list of volumes to inherit from another container, specified in the form `<container name>[:<ro|rw>]`." 538 items: 539 type: "string" 540 Mounts: 541 description: "Specification for mounts to be added to the container." 542 type: "array" 543 items: 544 $ref: "#/definitions/Mount" 545 546 # Applicable to UNIX platforms 547 CapAdd: 548 type: "array" 549 description: "A list of kernel capabilities to add to the container." 550 items: 551 type: "string" 552 CapDrop: 553 type: "array" 554 description: "A list of kernel capabilities to drop from the container." 555 items: 556 type: "string" 557 Dns: 558 type: "array" 559 description: "A list of DNS servers for the container to use." 560 items: 561 type: "string" 562 DnsOptions: 563 type: "array" 564 description: "A list of DNS options." 565 items: 566 type: "string" 567 DnsSearch: 568 type: "array" 569 description: "A list of DNS search domains." 570 items: 571 type: "string" 572 ExtraHosts: 573 type: "array" 574 description: | 575 A list of hostnames/IP mappings to add to the container's `/etc/hosts` file. Specified in the form `["hostname:IP"]`. 576 items: 577 type: "string" 578 GroupAdd: 579 type: "array" 580 description: "A list of additional groups that the container process will run as." 581 items: 582 type: "string" 583 IpcMode: 584 type: "string" 585 description: "IPC namespace to use for the container." 586 Cgroup: 587 type: "string" 588 description: "Cgroup to use for the container." 589 Links: 590 type: "array" 591 description: "A list of links for the container in the form `container_name:alias`." 592 items: 593 type: "string" 594 OomScoreAdj: 595 type: "integer" 596 description: "An integer value containing the score given to the container in order to tune OOM killer preferences." 597 PidMode: 598 type: "string" 599 description: | 600 Set the PID (Process) Namespace mode for the container. It can be either: 601 602 - `"container:<name|id>"`: joins another container's PID namespace 603 - `"host"`: use the host's PID namespace inside the container 604 Privileged: 605 type: "boolean" 606 description: "Gives the container full access to the host." 607 PublishAllPorts: 608 type: "boolean" 609 description: "Allocates a random host port for all of a container's exposed ports." 610 ReadonlyRootfs: 611 type: "boolean" 612 description: "Mount the container's root filesystem as read only." 613 SecurityOpt: 614 type: "array" 615 description: "A list of string values to customize labels for MLS 616 systems, such as SELinux." 617 items: 618 type: "string" 619 StorageOpt: 620 type: "object" 621 description: | 622 Storage driver options for this container, in the form `{"size": "120G"}`. 623 additionalProperties: 624 type: "string" 625 Tmpfs: 626 type: "object" 627 description: | 628 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" }`. 629 additionalProperties: 630 type: "string" 631 UTSMode: 632 type: "string" 633 description: "UTS namespace to use for the container." 634 UsernsMode: 635 type: "string" 636 description: "Sets the usernamespace mode for the container when usernamespace remapping option is enabled." 637 ShmSize: 638 type: "integer" 639 description: "Size of `/dev/shm` in bytes. If omitted, the system uses 64MB." 640 minimum: 0 641 Sysctls: 642 type: "object" 643 description: | 644 A list of kernel parameters (sysctls) to set in the container. For example: `{"net.ipv4.ip_forward": "1"}` 645 additionalProperties: 646 type: "string" 647 Runtime: 648 type: "string" 649 description: "Runtime to use with this container." 650 # Applicable to Windows 651 ConsoleSize: 652 type: "array" 653 description: "Initial console size, as an `[height, width]` array. (Windows only)" 654 minItems: 2 655 maxItems: 2 656 items: 657 type: "integer" 658 minimum: 0 659 Isolation: 660 type: "string" 661 description: "Isolation technology of the container. (Windows only)" 662 enum: 663 - "default" 664 - "process" 665 - "hyperv" 666 667 Config: 668 description: "Configuration for a container that is portable between hosts" 669 type: "object" 670 properties: 671 Hostname: 672 description: "The hostname to use for the container, as a valid RFC 1123 hostname." 673 type: "string" 674 Domainname: 675 description: "The domain name to use for the container." 676 type: "string" 677 User: 678 description: "The user that commands are run as inside the container." 679 type: "string" 680 AttachStdin: 681 description: "Whether to attach to `stdin`." 682 type: "boolean" 683 default: false 684 AttachStdout: 685 description: "Whether to attach to `stdout`." 686 type: "boolean" 687 default: true 688 AttachStderr: 689 description: "Whether to attach to `stderr`." 690 type: "boolean" 691 default: true 692 ExposedPorts: 693 description: | 694 An object mapping ports to an empty object in the form: 695 696 `{"<port>/<tcp|udp>": {}}` 697 type: "object" 698 additionalProperties: 699 type: "object" 700 enum: 701 - {} 702 default: {} 703 Tty: 704 description: "Attach standard streams to a TTY, including `stdin` if it is not closed." 705 type: "boolean" 706 default: false 707 OpenStdin: 708 description: "Open `stdin`" 709 type: "boolean" 710 default: false 711 StdinOnce: 712 description: "Close `stdin` after one attached client disconnects" 713 type: "boolean" 714 default: false 715 Env: 716 description: | 717 A list of environment variables to set inside the container in the form `["VAR=value", ...]` 718 type: "array" 719 items: 720 type: "string" 721 Cmd: 722 description: "Command to run specified as a string or an array of strings." 723 type: 724 - "array" 725 - "string" 726 items: 727 type: "string" 728 Healthcheck: 729 description: "A test to perform to check that the container is healthy." 730 type: "object" 731 properties: 732 Test: 733 description: | 734 The test to perform. Possible values are: 735 736 - `{}` inherit healthcheck from image or parent image 737 - `{"NONE"}` disable healthcheck 738 - `{"CMD", args...}` exec arguments directly 739 - `{"CMD-SHELL", command}` run command with system's default shell 740 type: "array" 741 items: 742 type: "string" 743 Interval: 744 description: "The time to wait between checks in nanoseconds. 0 means inherit." 745 type: "integer" 746 Timeout: 747 description: "The time to wait before considering the check to have hung. 0 means inherit." 748 type: "integer" 749 Retries: 750 description: "The number of consecutive failures needed to consider a container as unhealthy. 0 means inherit." 751 type: "integer" 752 ArgsEscaped: 753 description: "Command is already escaped (Windows only)" 754 type: "boolean" 755 Image: 756 description: "The name of the image to use when creating the container" 757 type: "string" 758 Volumes: 759 description: "An object mapping mount point paths inside the container to empty objects." 760 type: "object" 761 properties: 762 additionalProperties: 763 type: "object" 764 enum: 765 - {} 766 default: {} 767 WorkingDir: 768 description: "The working directory for commands to run in." 769 type: "string" 770 Entrypoint: 771 description: | 772 The entry point for the container as a string or an array of strings. 773 774 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`). 775 type: 776 - "array" 777 - "string" 778 items: 779 type: "string" 780 NetworkDisabled: 781 description: "Disable networking for the container." 782 type: "boolean" 783 MacAddress: 784 description: "MAC address of the container." 785 type: "string" 786 OnBuild: 787 description: "`ONBUILD` metadata that were defined in the image's `Dockerfile`." 788 type: "array" 789 items: 790 type: "string" 791 Labels: 792 description: "User-defined key/value metadata." 793 type: "object" 794 additionalProperties: 795 type: "string" 796 StopSignal: 797 description: "Signal to stop a container as a string or unsigned integer." 798 type: "string" 799 default: "SIGTERM" 800 StopTimeout: 801 description: "Timeout to stop a container in seconds." 802 type: "integer" 803 default: 10 804 Shell: 805 description: "Shell for when `RUN`, `CMD`, and `ENTRYPOINT` uses a shell." 806 type: "array" 807 items: 808 type: "string" 809 810 NetworkConfig: 811 description: "TODO: check is correct" 812 type: "object" 813 properties: 814 Bridge: 815 type: "string" 816 Gateway: 817 type: "string" 818 Address: 819 type: "string" 820 IPPrefixLen: 821 type: "integer" 822 MacAddress: 823 type: "string" 824 PortMapping: 825 type: "string" 826 Ports: 827 type: "array" 828 items: 829 $ref: "#/definitions/Port" 830 831 GraphDriver: 832 description: "Information about this container's graph driver." 833 type: "object" 834 properties: 835 Name: 836 type: "string" 837 Data: 838 type: "object" 839 additionalProperties: 840 type: "string" 841 842 Image: 843 type: "object" 844 properties: 845 Id: 846 type: "string" 847 RepoTags: 848 type: "array" 849 items: 850 type: "string" 851 RepoDigests: 852 type: "array" 853 items: 854 type: "string" 855 Parent: 856 type: "string" 857 Comment: 858 type: "string" 859 Created: 860 type: "string" 861 Container: 862 type: "string" 863 ContainerConfig: 864 $ref: "#/definitions/Config" 865 DockerVersion: 866 type: "string" 867 Author: 868 type: "string" 869 Config: 870 $ref: "#/definitions/Config" 871 Architecture: 872 type: "string" 873 Os: 874 type: "string" 875 Size: 876 type: "integer" 877 format: "int64" 878 VirtualSize: 879 type: "integer" 880 format: "int64" 881 GraphDriver: 882 $ref: "#/definitions/GraphDriver" 883 RootFS: 884 type: "object" 885 properties: 886 Type: 887 type: "string" 888 Layers: 889 type: "array" 890 items: 891 type: "string" 892 BaseLayer: 893 type: "string" 894 895 ImageSummary: 896 type: "object" 897 required: 898 - Id 899 - ParentId 900 - RepoTags 901 - RepoDigests 902 - Created 903 - Size 904 - SharedSize 905 - VirtualSize 906 - Labels 907 - Containers 908 properties: 909 Id: 910 type: "string" 911 x-nullable: false 912 ParentId: 913 type: "string" 914 x-nullable: false 915 RepoTags: 916 type: "array" 917 x-nullable: false 918 items: 919 type: "string" 920 RepoDigests: 921 type: "array" 922 x-nullable: false 923 items: 924 type: "string" 925 Created: 926 type: "integer" 927 x-nullable: false 928 Size: 929 type: "integer" 930 x-nullable: false 931 SharedSize: 932 type: "integer" 933 x-nullable: false 934 VirtualSize: 935 type: "integer" 936 x-nullable: false 937 Labels: 938 type: "object" 939 x-nullable: false 940 additionalProperties: 941 type: "string" 942 Containers: 943 x-nullable: false 944 type: "integer" 945 946 AuthConfig: 947 type: "object" 948 properties: 949 username: 950 type: "string" 951 password: 952 type: "string" 953 email: 954 type: "string" 955 serveraddress: 956 type: "string" 957 example: 958 username: "hannibal" 959 password: "xxxx" 960 serveraddress: "https://index.docker.io/v1/" 961 962 ProcessConfig: 963 type: "object" 964 properties: 965 privileged: 966 type: "boolean" 967 user: 968 type: "string" 969 tty: 970 type: "boolean" 971 entrypoint: 972 type: "string" 973 arguments: 974 type: "array" 975 items: 976 type: "string" 977 978 Volume: 979 type: "object" 980 required: [Name, Driver, Mountpoint, Labels, Scope, Options] 981 properties: 982 Name: 983 type: "string" 984 description: "Name of the volume." 985 x-nullable: false 986 Driver: 987 type: "string" 988 description: "Name of the volume driver used by the volume." 989 x-nullable: false 990 Mountpoint: 991 type: "string" 992 description: "Mount path of the volume on the host." 993 x-nullable: false 994 Status: 995 type: "object" 996 description: | 997 Low-level details about the volume, provided by the volume driver. 998 Details are returned as a map with key/value pairs: 999 `{"key":"value","key2":"value2"}`. 1000 1001 The `Status` field is optional, and is omitted if the volume driver 1002 does not support this feature. 1003 additionalProperties: 1004 type: "object" 1005 Labels: 1006 type: "object" 1007 description: "User-defined key/value metadata." 1008 x-nullable: false 1009 additionalProperties: 1010 type: "string" 1011 Scope: 1012 type: "string" 1013 description: "The level at which the volume exists. Either `global` for cluster-wide, or `local` for machine level." 1014 default: "local" 1015 x-nullable: false 1016 enum: ["local", "global"] 1017 Options: 1018 type: "object" 1019 description: "The driver specific options used when creating the volume." 1020 additionalProperties: 1021 type: "string" 1022 UsageData: 1023 type: "object" 1024 required: [Size, RefCount] 1025 properties: 1026 Size: 1027 type: "integer" 1028 description: "The disk space used by the volume (local driver only)" 1029 default: -1 1030 x-nullable: false 1031 RefCount: 1032 type: "integer" 1033 default: -1 1034 description: "The number of containers referencing this volume." 1035 x-nullable: false 1036 1037 example: 1038 Name: "tardis" 1039 Driver: "custom" 1040 Mountpoint: "/var/lib/docker/volumes/tardis" 1041 Status: 1042 hello: "world" 1043 Labels: 1044 com.example.some-label: "some-value" 1045 com.example.some-other-label: "some-other-value" 1046 Scope: "local" 1047 1048 Network: 1049 type: "object" 1050 properties: 1051 Name: 1052 type: "string" 1053 Id: 1054 type: "string" 1055 Created: 1056 type: "string" 1057 format: "dateTime" 1058 Scope: 1059 type: "string" 1060 Driver: 1061 type: "string" 1062 EnableIPv6: 1063 type: "boolean" 1064 IPAM: 1065 $ref: "#/definitions/IPAM" 1066 Internal: 1067 type: "boolean" 1068 Containers: 1069 type: "object" 1070 additionalProperties: 1071 $ref: "#/definitions/NetworkContainer" 1072 Options: 1073 type: "object" 1074 additionalProperties: 1075 type: "string" 1076 Labels: 1077 type: "object" 1078 additionalProperties: 1079 type: "string" 1080 example: 1081 Name: "net01" 1082 Id: "7d86d31b1478e7cca9ebed7e73aa0fdeec46c5ca29497431d3007d2d9e15ed99" 1083 Created: "2016-10-19T04:33:30.360899459Z" 1084 Scope: "local" 1085 Driver: "bridge" 1086 EnableIPv6: false 1087 IPAM: 1088 Driver: "default" 1089 Config: 1090 - Subnet: "172.19.0.0/16" 1091 Gateway: "172.19.0.1" 1092 Options: 1093 foo: "bar" 1094 Internal: false 1095 Containers: 1096 19a4d5d687db25203351ed79d478946f861258f018fe384f229f2efa4b23513c: 1097 Name: "test" 1098 EndpointID: "628cadb8bcb92de107b2a1e516cbffe463e321f548feb37697cce00ad694f21a" 1099 MacAddress: "02:42:ac:13:00:02" 1100 IPv4Address: "172.19.0.2/16" 1101 IPv6Address: "" 1102 Options: 1103 com.docker.network.bridge.default_bridge: "true" 1104 com.docker.network.bridge.enable_icc: "true" 1105 com.docker.network.bridge.enable_ip_masquerade: "true" 1106 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 1107 com.docker.network.bridge.name: "docker0" 1108 com.docker.network.driver.mtu: "1500" 1109 Labels: 1110 com.example.some-label: "some-value" 1111 com.example.some-other-label: "some-other-value" 1112 IPAM: 1113 type: "object" 1114 properties: 1115 Driver: 1116 description: "Name of the IPAM driver to use." 1117 type: "string" 1118 default: "default" 1119 Config: 1120 description: "List of IPAM configuration options, specified as a map: `{\"Subnet\": <CIDR>, \"IPRange\": <CIDR>, \"Gateway\": <IP address>, \"AuxAddress\": <device_name:IP address>}`" 1121 type: "array" 1122 items: 1123 type: "object" 1124 additionalProperties: 1125 type: "string" 1126 Options: 1127 description: "Driver-specific options, specified as a map." 1128 type: "array" 1129 items: 1130 type: "object" 1131 additionalProperties: 1132 type: "string" 1133 NetworkContainer: 1134 type: "object" 1135 properties: 1136 EndpointID: 1137 type: "string" 1138 MacAddress: 1139 type: "string" 1140 IPv4Address: 1141 type: "string" 1142 IPv6Address: 1143 type: "string" 1144 1145 BuildInfo: 1146 type: "object" 1147 properties: 1148 id: 1149 type: "string" 1150 stream: 1151 type: "string" 1152 error: 1153 type: "string" 1154 errorDetail: 1155 $ref: "#/definitions/ErrorDetail" 1156 status: 1157 type: "string" 1158 progress: 1159 type: "string" 1160 progressDetail: 1161 $ref: "#/definitions/ProgressDetail" 1162 1163 CreateImageInfo: 1164 type: "object" 1165 properties: 1166 error: 1167 type: "string" 1168 status: 1169 type: "string" 1170 progress: 1171 type: "string" 1172 progressDetail: 1173 $ref: "#/definitions/ProgressDetail" 1174 1175 PushImageInfo: 1176 type: "object" 1177 properties: 1178 error: 1179 type: "string" 1180 status: 1181 type: "string" 1182 progress: 1183 type: "string" 1184 progressDetail: 1185 $ref: "#/definitions/ProgressDetail" 1186 ErrorDetail: 1187 type: "object" 1188 properties: 1189 code: 1190 type: "integer" 1191 message: 1192 type: "string" 1193 ProgressDetail: 1194 type: "object" 1195 properties: 1196 code: 1197 type: "integer" 1198 message: 1199 type: "integer" 1200 1201 ErrorResponse: 1202 description: "Represents an error." 1203 type: "object" 1204 required: ["message"] 1205 properties: 1206 message: 1207 description: "The error message." 1208 type: "string" 1209 x-nullable: false 1210 example: 1211 message: "Something went wrong." 1212 1213 IdResponse: 1214 description: "Response to an API call that returns just an Id" 1215 type: "object" 1216 required: ["Id"] 1217 properties: 1218 Id: 1219 description: "The id of the newly created object." 1220 type: "string" 1221 x-nullable: false 1222 1223 EndpointSettings: 1224 description: "Configuration for a network endpoint." 1225 type: "object" 1226 properties: 1227 IPAMConfig: 1228 description: "IPAM configurations for the endpoint" 1229 type: "object" 1230 properties: 1231 IPv4Address: 1232 type: "string" 1233 IPv6Address: 1234 type: "string" 1235 LinkLocalIPs: 1236 type: "array" 1237 items: 1238 type: "string" 1239 Links: 1240 type: "array" 1241 items: 1242 type: "string" 1243 Aliases: 1244 type: "array" 1245 items: 1246 type: "string" 1247 NetworkID: 1248 type: "string" 1249 EndpointID: 1250 type: "string" 1251 Gateway: 1252 type: "string" 1253 IPAddress: 1254 type: "string" 1255 IPPrefixLen: 1256 type: "integer" 1257 IPv6Gateway: 1258 type: "string" 1259 GlobalIPv6Address: 1260 type: "string" 1261 GlobalIPv6PrefixLen: 1262 type: "integer" 1263 format: "int64" 1264 MacAddress: 1265 type: "string" 1266 1267 PluginMount: 1268 type: "object" 1269 x-nullable: false 1270 required: [Name, Description, Settable, Source, Destination, Type, Options] 1271 properties: 1272 Name: 1273 type: "string" 1274 x-nullable: false 1275 Description: 1276 type: "string" 1277 x-nullable: false 1278 Settable: 1279 type: "array" 1280 items: 1281 type: "string" 1282 Source: 1283 type: "string" 1284 Destination: 1285 type: "string" 1286 x-nullable: false 1287 Type: 1288 type: "string" 1289 x-nullable: false 1290 Options: 1291 type: "array" 1292 items: 1293 type: "string" 1294 1295 PluginDevice: 1296 type: "object" 1297 required: [Name, Description, Settable, Path] 1298 x-nullable: false 1299 properties: 1300 Name: 1301 type: "string" 1302 x-nullable: false 1303 Description: 1304 type: "string" 1305 x-nullable: false 1306 Settable: 1307 type: "array" 1308 items: 1309 type: "string" 1310 Path: 1311 type: "string" 1312 1313 PluginEnv: 1314 type: "object" 1315 x-nullable: false 1316 required: [Name, Description, Settable, Value] 1317 properties: 1318 Name: 1319 x-nullable: false 1320 type: "string" 1321 Description: 1322 x-nullable: false 1323 type: "string" 1324 Settable: 1325 type: "array" 1326 items: 1327 type: "string" 1328 Value: 1329 type: "string" 1330 1331 PluginInterfaceType: 1332 type: "object" 1333 x-nullable: false 1334 required: [Prefix, Capability, Version] 1335 properties: 1336 Prefix: 1337 type: "string" 1338 x-nullable: false 1339 Capability: 1340 type: "string" 1341 x-nullable: false 1342 Version: 1343 type: "string" 1344 x-nullable: false 1345 1346 Plugin: 1347 description: "A plugin for the Engine API" 1348 type: "object" 1349 required: [Settings, Enabled, Config, Name] 1350 properties: 1351 Id: 1352 type: "string" 1353 Name: 1354 type: "string" 1355 x-nullable: false 1356 Enabled: 1357 description: "True when the plugin is running. False when the plugin is not running, only installed." 1358 type: "boolean" 1359 x-nullable: false 1360 Settings: 1361 description: "Settings that can be modified by users." 1362 type: "object" 1363 x-nullable: false 1364 required: [Args, Devices, Env, Mounts] 1365 properties: 1366 Mounts: 1367 type: "array" 1368 items: 1369 $ref: "#/definitions/PluginMount" 1370 Env: 1371 type: "array" 1372 items: 1373 type: "string" 1374 Args: 1375 type: "array" 1376 items: 1377 type: "string" 1378 Devices: 1379 type: "array" 1380 items: 1381 $ref: "#/definitions/PluginDevice" 1382 Config: 1383 description: "The config of a plugin." 1384 type: "object" 1385 x-nullable: false 1386 required: 1387 - Description 1388 - Documentation 1389 - Interface 1390 - Entrypoint 1391 - WorkDir 1392 - Network 1393 - Linux 1394 - PropagatedMount 1395 - Mounts 1396 - Env 1397 - Args 1398 properties: 1399 Description: 1400 type: "string" 1401 x-nullable: false 1402 Documentation: 1403 type: "string" 1404 x-nullable: false 1405 Interface: 1406 description: "The interface between Docker and the plugin" 1407 x-nullable: false 1408 type: "object" 1409 required: [Types, Socket] 1410 properties: 1411 Types: 1412 type: "array" 1413 items: 1414 $ref: "#/definitions/PluginInterfaceType" 1415 Socket: 1416 type: "string" 1417 x-nullable: false 1418 Entrypoint: 1419 type: "array" 1420 items: 1421 type: "string" 1422 WorkDir: 1423 type: "string" 1424 x-nullable: false 1425 User: 1426 type: "object" 1427 x-nullable: false 1428 properties: 1429 UID: 1430 type: "integer" 1431 format: "uint32" 1432 GID: 1433 type: "integer" 1434 format: "uint32" 1435 Network: 1436 type: "object" 1437 x-nullable: false 1438 required: [Type] 1439 properties: 1440 Type: 1441 x-nullable: false 1442 type: "string" 1443 Linux: 1444 type: "object" 1445 x-nullable: false 1446 required: [Capabilities, AllowAllDevices, Devices] 1447 properties: 1448 Capabilities: 1449 type: "array" 1450 items: 1451 type: "string" 1452 AllowAllDevices: 1453 type: "boolean" 1454 x-nullable: false 1455 Devices: 1456 type: "array" 1457 items: 1458 $ref: "#/definitions/PluginDevice" 1459 PropagatedMount: 1460 type: "string" 1461 x-nullable: false 1462 Mounts: 1463 type: "array" 1464 items: 1465 $ref: "#/definitions/PluginMount" 1466 Env: 1467 type: "array" 1468 items: 1469 $ref: "#/definitions/PluginEnv" 1470 Args: 1471 type: "object" 1472 x-nullable: false 1473 required: [Name, Description, Settable, Value] 1474 properties: 1475 Name: 1476 x-nullable: false 1477 type: "string" 1478 Description: 1479 x-nullable: false 1480 type: "string" 1481 Settable: 1482 type: "array" 1483 items: 1484 type: "string" 1485 Value: 1486 type: "array" 1487 items: 1488 type: "string" 1489 rootfs: 1490 type: "object" 1491 properties: 1492 type: 1493 type: "string" 1494 diff_ids: 1495 type: "array" 1496 items: 1497 type: "string" 1498 example: 1499 Id: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" 1500 Name: "tiborvass/sample-volume-plugin" 1501 Tag: "latest" 1502 Active: true 1503 Settings: 1504 Env: 1505 - "DEBUG=0" 1506 Args: null 1507 Devices: null 1508 Config: 1509 Description: "A sample volume plugin for Docker" 1510 Documentation: "https://docs.docker.com/engine/extend/plugins/" 1511 Interface: 1512 Types: 1513 - "docker.volumedriver/1.0" 1514 Socket: "plugins.sock" 1515 Entrypoint: 1516 - "/usr/bin/sample-volume-plugin" 1517 - "/data" 1518 WorkDir: "" 1519 User: {} 1520 Network: 1521 Type: "" 1522 Linux: 1523 Capabilities: null 1524 AllowAllDevices: false 1525 Devices: null 1526 Mounts: null 1527 PropagatedMount: "/data" 1528 Env: 1529 - Name: "DEBUG" 1530 Description: "If set, prints debug messages" 1531 Settable: null 1532 Value: "0" 1533 Args: 1534 Name: "args" 1535 Description: "command line arguments" 1536 Settable: null 1537 Value: [] 1538 1539 NodeSpec: 1540 type: "object" 1541 properties: 1542 Name: 1543 description: "Name for the node." 1544 type: "string" 1545 Labels: 1546 description: "User-defined key/value metadata." 1547 type: "object" 1548 additionalProperties: 1549 type: "string" 1550 Role: 1551 description: "Role of the node." 1552 type: "string" 1553 enum: 1554 - "worker" 1555 - "manager" 1556 Availability: 1557 description: "Availability of the node." 1558 type: "string" 1559 enum: 1560 - "active" 1561 - "pause" 1562 - "drain" 1563 example: 1564 Availability: "active" 1565 Name: "node-name" 1566 Role: "manager" 1567 Labels: 1568 foo: "bar" 1569 Node: 1570 type: "object" 1571 properties: 1572 ID: 1573 type: "string" 1574 Version: 1575 type: "object" 1576 properties: 1577 Index: 1578 type: "integer" 1579 format: "int64" 1580 CreatedAt: 1581 type: "string" 1582 format: "dateTime" 1583 UpdatedAt: 1584 type: "string" 1585 format: "dateTime" 1586 Spec: 1587 $ref: "#/definitions/NodeSpec" 1588 Description: 1589 type: "object" 1590 properties: 1591 Hostname: 1592 type: "string" 1593 Platform: 1594 type: "object" 1595 properties: 1596 Architecture: 1597 type: "string" 1598 OS: 1599 type: "string" 1600 Resources: 1601 type: "object" 1602 properties: 1603 NanoCPUs: 1604 type: "integer" 1605 format: "int64" 1606 MemoryBytes: 1607 type: "integer" 1608 format: "int64" 1609 Engine: 1610 type: "object" 1611 properties: 1612 EngineVersion: 1613 type: "string" 1614 Labels: 1615 type: "object" 1616 additionalProperties: 1617 type: "string" 1618 Plugins: 1619 type: "array" 1620 items: 1621 type: "object" 1622 properties: 1623 Type: 1624 type: "string" 1625 Name: 1626 type: "string" 1627 example: 1628 ID: "24ifsmvkjbyhk" 1629 Version: 1630 Index: 8 1631 CreatedAt: "2016-06-07T20:31:11.853781916Z" 1632 UpdatedAt: "2016-06-07T20:31:11.999868824Z" 1633 Spec: 1634 Name: "my-node" 1635 Role: "manager" 1636 Availability: "active" 1637 Labels: 1638 foo: "bar" 1639 Description: 1640 Hostname: "bf3067039e47" 1641 Platform: 1642 Architecture: "x86_64" 1643 OS: "linux" 1644 Resources: 1645 NanoCPUs: 4000000000 1646 MemoryBytes: 8272408576 1647 Engine: 1648 EngineVersion: "1.13.0" 1649 Labels: 1650 foo: "bar" 1651 Plugins: 1652 - Type: "Volume" 1653 Name: "local" 1654 - Type: "Network" 1655 Name: "bridge" 1656 - Type: "Network" 1657 Name: "null" 1658 - Type: "Network" 1659 Name: "overlay" 1660 Status: 1661 State: "ready" 1662 Addr: "172.17.0.2" 1663 ManagerStatus: 1664 Leader: true 1665 Reachability: "reachable" 1666 Addr: "172.17.0.2:2377" 1667 SwarmSpec: 1668 description: "User modifiable swarm configuration." 1669 type: "object" 1670 properties: 1671 Name: 1672 description: "Name of the swarm." 1673 type: "string" 1674 Labels: 1675 description: "User-defined key/value metadata." 1676 type: "object" 1677 additionalProperties: 1678 type: "string" 1679 Orchestration: 1680 description: "Orchestration configuration." 1681 type: "object" 1682 properties: 1683 TaskHistoryRetentionLimit: 1684 description: "The number of historic tasks to keep per instance or node. If negative, never remove completed or failed tasks." 1685 type: "integer" 1686 format: "int64" 1687 Raft: 1688 description: "Raft configuration." 1689 type: "object" 1690 properties: 1691 SnapshotInterval: 1692 description: "The number of log entries between snapshots." 1693 type: "integer" 1694 format: "int64" 1695 KeepOldSnapshots: 1696 description: "The number of snapshots to keep beyond the current snapshot." 1697 type: "integer" 1698 format: "int64" 1699 LogEntriesForSlowFollowers: 1700 description: "The number of log entries to keep around to sync up slow followers after a snapshot is created." 1701 type: "integer" 1702 format: "int64" 1703 ElectionTick: 1704 description: | 1705 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`. 1706 1707 A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed. 1708 type: "integer" 1709 HeartbeatTick: 1710 description: | 1711 The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader will send a heartbeat to the followers. 1712 1713 A tick currently defaults to one second, so these translate directly to seconds currently, but this is NOT guaranteed. 1714 type: "integer" 1715 Dispatcher: 1716 description: "Dispatcher configuration." 1717 type: "object" 1718 properties: 1719 HeartbeatPeriod: 1720 description: "The delay for an agent to send a heartbeat to the dispatcher." 1721 type: "integer" 1722 format: "int64" 1723 CAConfig: 1724 description: "CA configuration." 1725 type: "object" 1726 properties: 1727 NodeCertExpiry: 1728 description: "The duration node certificates are issued for." 1729 type: "integer" 1730 format: "int64" 1731 ExternalCAs: 1732 description: "Configuration for forwarding signing requests to an external certificate authority." 1733 type: "array" 1734 items: 1735 type: "object" 1736 properties: 1737 Protocol: 1738 description: "Protocol for communication with the external CA (currently only `cfssl` is supported)." 1739 type: "string" 1740 enum: 1741 - "cfssl" 1742 default: "cfssl" 1743 URL: 1744 description: "URL where certificate signing requests should be sent." 1745 type: "string" 1746 Options: 1747 description: "An object with key/value pairs that are interpreted as protocol-specific options for the external CA driver." 1748 type: "object" 1749 additionalProperties: 1750 type: "string" 1751 EncryptionConfig: 1752 description: "Parameters related to encryption-at-rest." 1753 type: "object" 1754 properties: 1755 AutoLockManagers: 1756 description: "If set, generate a key and use it to lock data stored on the managers." 1757 type: "boolean" 1758 TaskDefaults: 1759 description: "Defaults for creating tasks in this cluster." 1760 type: "object" 1761 properties: 1762 LogDriver: 1763 description: | 1764 The log driver to use for tasks created in the orchestrator if unspecified by a service. 1765 1766 Updating this value will only have an affect on new tasks. Old tasks will continue use their previously configured log driver until recreated. 1767 type: "object" 1768 properties: 1769 Name: 1770 type: "string" 1771 Options: 1772 type: "object" 1773 additionalProperties: 1774 type: "string" 1775 example: 1776 Name: "default" 1777 Orchestration: 1778 TaskHistoryRetentionLimit: 10 1779 Raft: 1780 SnapshotInterval: 10000 1781 LogEntriesForSlowFollowers: 500 1782 HeartbeatTick: 1 1783 ElectionTick: 3 1784 Dispatcher: 1785 HeartbeatPeriod: 5000000000 1786 CAConfig: 1787 NodeCertExpiry: 7776000000000000 1788 JoinTokens: 1789 Worker: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-1awxwuwd3z9j1z3puu7rcgdbx" 1790 Manager: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" 1791 EncryptionConfig: 1792 AutoLockManagers: false 1793 # The Swarm information for `GET /info`. It is the same as `GET /swarm`, but 1794 # without `JoinTokens`. 1795 ClusterInfo: 1796 type: "object" 1797 properties: 1798 ID: 1799 description: "The ID of the swarm." 1800 type: "string" 1801 Version: 1802 type: "object" 1803 properties: 1804 Index: 1805 type: "integer" 1806 format: "int64" 1807 CreatedAt: 1808 type: "string" 1809 format: "dateTime" 1810 UpdatedAt: 1811 type: "string" 1812 format: "dateTime" 1813 Spec: 1814 $ref: "#/definitions/SwarmSpec" 1815 TaskSpec: 1816 description: "User modifiable task configuration." 1817 type: "object" 1818 properties: 1819 ContainerSpec: 1820 type: "object" 1821 properties: 1822 Image: 1823 description: "The image name to use for the container." 1824 type: "string" 1825 Command: 1826 description: "The command to be run in the image." 1827 type: "array" 1828 items: 1829 type: "string" 1830 Args: 1831 description: "Arguments to the command." 1832 type: "array" 1833 items: 1834 type: "string" 1835 Env: 1836 description: "A list of environment variables in the form `VAR=value`." 1837 type: "array" 1838 items: 1839 type: "string" 1840 Dir: 1841 description: "The working directory for commands to run in." 1842 type: "string" 1843 User: 1844 description: "The user inside the container." 1845 type: "string" 1846 Labels: 1847 description: "User-defined key/value data." 1848 type: "object" 1849 additionalProperties: 1850 type: "string" 1851 TTY: 1852 description: "Whether a pseudo-TTY should be allocated." 1853 type: "boolean" 1854 Mounts: 1855 description: "Specification for mounts to be added to containers created as part of the service." 1856 type: "array" 1857 items: 1858 $ref: "#/definitions/Mount" 1859 StopGracePeriod: 1860 description: "Amount of time to wait for the container to terminate before forcefully killing it." 1861 type: "integer" 1862 format: "int64" 1863 DNSConfig: 1864 description: "Specification for DNS related configurations in resolver configuration file (`resolv.conf`)." 1865 type: "object" 1866 properties: 1867 Nameservers: 1868 description: "The IP addresses of the name servers." 1869 type: "array" 1870 items: 1871 type: "string" 1872 Search: 1873 description: "A search list for host-name lookup." 1874 type: "array" 1875 items: 1876 type: "string" 1877 Options: 1878 description: "A list of internal resolver variables to be modified (e.g., `debug`, `ndots:3`, etc.)." 1879 type: "array" 1880 items: 1881 type: "string" 1882 Resources: 1883 description: "Resource requirements which apply to each individual container created as part of the service." 1884 type: "object" 1885 properties: 1886 Limits: 1887 description: "Define resources limits." 1888 type: "object" 1889 properties: 1890 NanoCPUs: 1891 description: "CPU limit in units of 10<sup>-9</sup> CPU shares." 1892 type: "integer" 1893 format: "int64" 1894 MemoryBytes: 1895 description: "Memory limit in Bytes." 1896 type: "integer" 1897 format: "int64" 1898 Reservation: 1899 description: "Define resources reservation." 1900 properties: 1901 NanoCPUs: 1902 description: "CPU reservation in units of 10<sup>-9</sup> CPU shares." 1903 type: "integer" 1904 format: "int64" 1905 MemoryBytes: 1906 description: "Memory reservation in Bytes." 1907 type: "integer" 1908 format: "int64" 1909 RestartPolicy: 1910 description: "Specification for the restart policy which applies to containers created as part of this service." 1911 type: "object" 1912 properties: 1913 Condition: 1914 description: "Condition for restart." 1915 type: "string" 1916 enum: 1917 - "none" 1918 - "on-failure" 1919 - "any" 1920 Delay: 1921 description: "Delay between restart attempts." 1922 type: "integer" 1923 format: "int64" 1924 MaxAttempts: 1925 description: "Maximum attempts to restart a given container before giving up (default value is 0, which is ignored)." 1926 type: "integer" 1927 format: "int64" 1928 default: 0 1929 Window: 1930 description: "Windows is the time window used to evaluate the restart policy (default value is 0, which is unbounded)." 1931 type: "integer" 1932 format: "int64" 1933 default: 0 1934 Placement: 1935 type: "object" 1936 properties: 1937 Constraints: 1938 description: "An array of constraints." 1939 type: "array" 1940 items: 1941 type: "string" 1942 ForceUpdate: 1943 description: "A counter that triggers an update even if no relevant parameters have been changed." 1944 type: "integer" 1945 Networks: 1946 type: "array" 1947 items: 1948 type: "object" 1949 properties: 1950 Target: 1951 type: "string" 1952 Aliases: 1953 type: "array" 1954 items: 1955 type: "string" 1956 LogDriver: 1957 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." 1958 type: "object" 1959 properties: 1960 Name: 1961 type: "string" 1962 Options: 1963 type: "object" 1964 additionalProperties: 1965 type: "string" 1966 TaskState: 1967 type: "string" 1968 enum: 1969 - "new" 1970 - "allocated" 1971 - "pending" 1972 - "assigned" 1973 - "accepted" 1974 - "preparing" 1975 - "ready" 1976 - "starting" 1977 - "running" 1978 - "complete" 1979 - "shutdown" 1980 - "failed" 1981 - "rejected" 1982 Task: 1983 type: "object" 1984 properties: 1985 ID: 1986 description: "The ID of the task." 1987 type: "string" 1988 Version: 1989 type: "object" 1990 properties: 1991 Index: 1992 type: "integer" 1993 format: "int64" 1994 CreatedAt: 1995 type: "string" 1996 format: "dateTime" 1997 UpdatedAt: 1998 type: "string" 1999 format: "dateTime" 2000 Name: 2001 description: "Name of the task." 2002 type: "string" 2003 Labels: 2004 description: "User-defined key/value metadata." 2005 type: "object" 2006 additionalProperties: 2007 type: "string" 2008 Spec: 2009 $ref: "#/definitions/TaskSpec" 2010 ServiceID: 2011 description: "The ID of the service this task is part of." 2012 type: "string" 2013 Slot: 2014 type: "integer" 2015 NodeID: 2016 description: "The ID of the node that this task is on." 2017 type: "string" 2018 Status: 2019 type: "object" 2020 properties: 2021 Timestamp: 2022 type: "string" 2023 format: "dateTime" 2024 State: 2025 $ref: "#/definitions/TaskState" 2026 Message: 2027 type: "string" 2028 Err: 2029 type: "string" 2030 ContainerStatus: 2031 type: "object" 2032 properties: 2033 ContainerID: 2034 type: "string" 2035 PID: 2036 type: "integer" 2037 ExitCode: 2038 type: "integer" 2039 DesiredState: 2040 $ref: "#/definitions/TaskState" 2041 example: 2042 ID: "0kzzo1i0y4jz6027t0k7aezc7" 2043 Version: 2044 Index: 71 2045 CreatedAt: "2016-06-07T21:07:31.171892745Z" 2046 UpdatedAt: "2016-06-07T21:07:31.376370513Z" 2047 Spec: 2048 ContainerSpec: 2049 Image: "redis" 2050 Resources: 2051 Limits: {} 2052 Reservations: {} 2053 RestartPolicy: 2054 Condition: "any" 2055 MaxAttempts: 0 2056 Placement: {} 2057 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 2058 Slot: 1 2059 NodeID: "60gvrl6tm78dmak4yl7srz94v" 2060 Status: 2061 Timestamp: "2016-06-07T21:07:31.290032978Z" 2062 State: "running" 2063 Message: "started" 2064 ContainerStatus: 2065 ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035" 2066 PID: 677 2067 DesiredState: "running" 2068 NetworksAttachments: 2069 - Network: 2070 ID: "4qvuz4ko70xaltuqbt8956gd1" 2071 Version: 2072 Index: 18 2073 CreatedAt: "2016-06-07T20:31:11.912919752Z" 2074 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 2075 Spec: 2076 Name: "ingress" 2077 Labels: 2078 com.docker.swarm.internal: "true" 2079 DriverConfiguration: {} 2080 IPAMOptions: 2081 Driver: {} 2082 Configs: 2083 - Subnet: "10.255.0.0/16" 2084 Gateway: "10.255.0.1" 2085 DriverState: 2086 Name: "overlay" 2087 Options: 2088 com.docker.network.driver.overlay.vxlanid_list: "256" 2089 IPAMOptions: 2090 Driver: 2091 Name: "default" 2092 Configs: 2093 - Subnet: "10.255.0.0/16" 2094 Gateway: "10.255.0.1" 2095 Addresses: 2096 - "10.255.0.10/16" 2097 ServiceSpec: 2098 description: "User modifiable configuration for a service." 2099 properties: 2100 Name: 2101 description: "Name of the service." 2102 type: "string" 2103 Labels: 2104 description: "User-defined key/value metadata." 2105 type: "object" 2106 additionalProperties: 2107 type: "string" 2108 TaskTemplate: 2109 $ref: "#/definitions/TaskSpec" 2110 Mode: 2111 description: "Scheduling mode for the service." 2112 type: "object" 2113 properties: 2114 Replicated: 2115 type: "object" 2116 properties: 2117 Replicas: 2118 type: "integer" 2119 format: "int64" 2120 Global: 2121 type: "object" 2122 UpdateConfig: 2123 description: "Specification for the update strategy of the service." 2124 type: "object" 2125 properties: 2126 Parallelism: 2127 description: "Maximum number of tasks to be updated in one iteration (0 means unlimited parallelism)." 2128 type: "integer" 2129 format: "int64" 2130 Delay: 2131 description: "Amount of time between updates, in nanoseconds." 2132 type: "integer" 2133 format: "int64" 2134 FailureAction: 2135 description: "Action to take if an updated task fails to run, or stops running during the update." 2136 type: "string" 2137 enum: 2138 - "continue" 2139 - "pause" 2140 Monitor: 2141 description: "Amount of time to monitor each updated task for failures, in nanoseconds." 2142 type: "integer" 2143 format: "int64" 2144 MaxFailureRatio: 2145 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." 2146 type: "number" 2147 default: 0 2148 Networks: 2149 description: "Array of network names or IDs to attach the service to." 2150 type: "array" 2151 items: 2152 type: "object" 2153 properties: 2154 Target: 2155 type: "string" 2156 Aliases: 2157 type: "array" 2158 items: 2159 type: "string" 2160 EndpointSpec: 2161 $ref: "#/definitions/EndpointSpec" 2162 EndpointPortConfig: 2163 type: "object" 2164 properties: 2165 Name: 2166 type: "string" 2167 Protocol: 2168 type: "string" 2169 enum: 2170 - "tcp" 2171 - "udp" 2172 TargetPort: 2173 description: "The port inside the container." 2174 type: "integer" 2175 PublishedPort: 2176 description: "The port on the swarm hosts." 2177 type: "integer" 2178 EndpointSpec: 2179 description: "Properties that can be configured to access and load balance a service." 2180 type: "object" 2181 properties: 2182 Mode: 2183 description: "The mode of resolution to use for internal load balancing 2184 between tasks." 2185 type: "string" 2186 enum: 2187 - "vip" 2188 - "dnsrr" 2189 default: "vip" 2190 Ports: 2191 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." 2192 type: "array" 2193 items: 2194 $ref: "#/definitions/EndpointPortConfig" 2195 Service: 2196 type: "object" 2197 properties: 2198 ID: 2199 type: "string" 2200 Version: 2201 type: "object" 2202 properties: 2203 Index: 2204 type: "integer" 2205 format: "int64" 2206 CreatedAt: 2207 type: "string" 2208 format: "dateTime" 2209 UpdatedAt: 2210 type: "string" 2211 format: "dateTime" 2212 Spec: 2213 $ref: "#/definitions/ServiceSpec" 2214 Endpoint: 2215 type: "object" 2216 properties: 2217 Spec: 2218 $ref: "#/definitions/EndpointSpec" 2219 Ports: 2220 type: "array" 2221 items: 2222 $ref: "#/definitions/EndpointPortConfig" 2223 VirtualIPs: 2224 type: "array" 2225 items: 2226 type: "object" 2227 properties: 2228 NetworkID: 2229 type: "string" 2230 Addr: 2231 type: "string" 2232 UpdateStatus: 2233 description: "The status of a service update." 2234 type: "object" 2235 properties: 2236 State: 2237 type: "string" 2238 enum: 2239 - "updating" 2240 - "paused" 2241 - "completed" 2242 StartedAt: 2243 type: "string" 2244 format: "dateTime" 2245 CompletedAt: 2246 type: "string" 2247 format: "dateTime" 2248 Message: 2249 type: "string" 2250 example: 2251 ID: "9mnpnzenvg8p8tdbtq4wvbkcz" 2252 Version: 2253 Index: 19 2254 CreatedAt: "2016-06-07T21:05:51.880065305Z" 2255 UpdatedAt: "2016-06-07T21:07:29.962229872Z" 2256 Spec: 2257 Name: "hopeful_cori" 2258 TaskTemplate: 2259 ContainerSpec: 2260 Image: "redis" 2261 Resources: 2262 Limits: {} 2263 Reservations: {} 2264 RestartPolicy: 2265 Condition: "any" 2266 MaxAttempts: 0 2267 Placement: {} 2268 ForceUpdate: 0 2269 Mode: 2270 Replicated: 2271 Replicas: 1 2272 UpdateConfig: 2273 Parallelism: 1 2274 FailureAction: "pause" 2275 Monitor: 15000000000 2276 MaxFailureRatio: 0.15 2277 EndpointSpec: 2278 Mode: "vip" 2279 Ports: 2280 - 2281 Protocol: "tcp" 2282 TargetPort: 6379 2283 PublishedPort: 30001 2284 Endpoint: 2285 Spec: 2286 Mode: "vip" 2287 Ports: 2288 - 2289 Protocol: "tcp" 2290 TargetPort: 6379 2291 PublishedPort: 30001 2292 Ports: 2293 - 2294 Protocol: "tcp" 2295 TargetPort: 6379 2296 PublishedPort: 30001 2297 VirtualIPs: 2298 - 2299 NetworkID: "4qvuz4ko70xaltuqbt8956gd1" 2300 Addr: "10.255.0.2/16" 2301 - 2302 NetworkID: "4qvuz4ko70xaltuqbt8956gd1" 2303 Addr: "10.255.0.3/16" 2304 ImageDeleteResponse: 2305 type: "object" 2306 properties: 2307 Untagged: 2308 description: "The image ID of an image that was untagged" 2309 type: "string" 2310 Deleted: 2311 description: "The image ID of an image that was deleted" 2312 type: "string" 2313 ServiceUpdateResponse: 2314 type: "object" 2315 properties: 2316 Warnings: 2317 description: "Optional warning messages" 2318 type: "array" 2319 items: 2320 type: "string" 2321 example: 2322 Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" 2323 ContainerSummary: 2324 type: "array" 2325 items: 2326 type: "object" 2327 properties: 2328 Id: 2329 description: "The ID of this container" 2330 type: "string" 2331 x-go-name: "ID" 2332 Names: 2333 description: "The names that this container has been given" 2334 type: "array" 2335 items: 2336 type: "string" 2337 Image: 2338 description: "The name of the image used when creating this container" 2339 type: "string" 2340 ImageID: 2341 description: "The ID of the image that this container was created from" 2342 type: "string" 2343 Command: 2344 description: "Command to run when starting the container" 2345 type: "string" 2346 Created: 2347 description: "When the container was created" 2348 type: "integer" 2349 format: "int64" 2350 Ports: 2351 description: "The ports exposed by this container" 2352 type: "array" 2353 items: 2354 $ref: "#/definitions/Port" 2355 SizeRw: 2356 description: "The size of files that have been created or changed by this container" 2357 type: "integer" 2358 format: "int64" 2359 SizeRootFs: 2360 description: "The total size of all the files in this container" 2361 type: "integer" 2362 format: "int64" 2363 Labels: 2364 description: "User-defined key/value metadata." 2365 type: "object" 2366 additionalProperties: 2367 type: "string" 2368 State: 2369 description: "The state of this container (e.g. `Exited`)" 2370 type: "string" 2371 Status: 2372 description: "Additional human-readable status of this container (e.g. `Exit 0`)" 2373 type: "string" 2374 HostConfig: 2375 type: "object" 2376 properties: 2377 NetworkMode: 2378 type: "string" 2379 NetworkSettings: 2380 description: "A summary of the container's network settings" 2381 type: "object" 2382 properties: 2383 Networks: 2384 type: "object" 2385 additionalProperties: 2386 $ref: "#/definitions/EndpointSettings" 2387 Mounts: 2388 type: "array" 2389 items: 2390 $ref: "#/definitions/Mount" 2391 SecretSpec: 2392 type: "object" 2393 properties: 2394 Name: 2395 description: "User-defined name of the secret." 2396 type: "string" 2397 Labels: 2398 description: "User-defined key/value metadata." 2399 type: "object" 2400 additionalProperties: 2401 type: "string" 2402 Data: 2403 description: "Base64-url-safe-encoded secret data" 2404 type: "array" 2405 items: 2406 type: "string" 2407 Secret: 2408 type: "object" 2409 properties: 2410 ID: 2411 type: "string" 2412 Version: 2413 type: "object" 2414 properties: 2415 Index: 2416 type: "integer" 2417 format: "int64" 2418 CreatedAt: 2419 type: "string" 2420 format: "dateTime" 2421 UpdatedAt: 2422 type: "string" 2423 format: "dateTime" 2424 Spec: 2425 $ref: "#/definitions/ServiceSpec" 2426 paths: 2427 /containers/json: 2428 get: 2429 summary: "List containers" 2430 operationId: "ContainerList" 2431 produces: 2432 - "application/json" 2433 parameters: 2434 - name: "all" 2435 in: "query" 2436 description: "Return all containers. By default, only running containers are shown" 2437 type: "boolean" 2438 default: false 2439 - name: "limit" 2440 in: "query" 2441 description: "Return this number of most recently created containers, including non-running ones." 2442 type: "integer" 2443 - name: "size" 2444 in: "query" 2445 description: "Return the size of container as fields `SizeRw` and `SizeRootFs`." 2446 type: "boolean" 2447 default: false 2448 - name: "filters" 2449 in: "query" 2450 description: | 2451 Filters to process on the container list, encoded as JSON (a `map[string][]string`). For example, `{"status": ["paused"]}` will only return paused containers. 2452 2453 Available filters: 2454 - `exited=<int>` containers with exit code of `<int>` 2455 - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`) 2456 - `label=key` or `label="key=value"` of a container label 2457 - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only) 2458 - `id=<ID>` a container's ID 2459 - `name=<name>` a container's name 2460 - `is-task=`(`true`|`false`) 2461 - `ancestor`=(`<image-name>[:<tag>]`, `<image id>`, or `<image@digest>`) 2462 - `before`=(`<container id>` or `<container name>`) 2463 - `since`=(`<container id>` or `<container name>`) 2464 - `volume`=(`<volume name>` or `<mount point destination>`) 2465 - `network`=(`<network id>` or `<network name>`) 2466 - `health`=(`starting`|`healthy`|`unhealthy`|`none`) 2467 type: "string" 2468 responses: 2469 200: 2470 description: "no error" 2471 schema: 2472 $ref: "#/definitions/ContainerSummary" 2473 examples: 2474 application/json: 2475 - Id: "8dfafdbc3a40" 2476 Names: 2477 - "/boring_feynman" 2478 Image: "ubuntu:latest" 2479 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 2480 Command: "echo 1" 2481 Created: 1367854155 2482 State: "Exited" 2483 Status: "Exit 0" 2484 Ports: 2485 - PrivatePort: 2222 2486 PublicPort: 3333 2487 Type: "tcp" 2488 Labels: 2489 com.example.vendor: "Acme" 2490 com.example.license: "GPL" 2491 com.example.version: "1.0" 2492 SizeRw: 12288 2493 SizeRootFs: 0 2494 HostConfig: 2495 NetworkMode: "default" 2496 NetworkSettings: 2497 Networks: 2498 bridge: 2499 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 2500 EndpointID: "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f" 2501 Gateway: "172.17.0.1" 2502 IPAddress: "172.17.0.2" 2503 IPPrefixLen: 16 2504 IPv6Gateway: "" 2505 GlobalIPv6Address: "" 2506 GlobalIPv6PrefixLen: 0 2507 MacAddress: "02:42:ac:11:00:02" 2508 Mounts: 2509 - Name: "fac362...80535" 2510 Source: "/data" 2511 Destination: "/data" 2512 Driver: "local" 2513 Mode: "ro,Z" 2514 RW: false 2515 Propagation: "" 2516 - Id: "9cd87474be90" 2517 Names: 2518 - "/coolName" 2519 Image: "ubuntu:latest" 2520 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 2521 Command: "echo 222222" 2522 Created: 1367854155 2523 State: "Exited" 2524 Status: "Exit 0" 2525 Ports: [] 2526 Labels: {} 2527 SizeRw: 12288 2528 SizeRootFs: 0 2529 HostConfig: 2530 NetworkMode: "default" 2531 NetworkSettings: 2532 Networks: 2533 bridge: 2534 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 2535 EndpointID: "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a" 2536 Gateway: "172.17.0.1" 2537 IPAddress: "172.17.0.8" 2538 IPPrefixLen: 16 2539 IPv6Gateway: "" 2540 GlobalIPv6Address: "" 2541 GlobalIPv6PrefixLen: 0 2542 MacAddress: "02:42:ac:11:00:08" 2543 Mounts: [] 2544 - Id: "3176a2479c92" 2545 Names: 2546 - "/sleepy_dog" 2547 Image: "ubuntu:latest" 2548 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 2549 Command: "echo 3333333333333333" 2550 Created: 1367854154 2551 State: "Exited" 2552 Status: "Exit 0" 2553 Ports: [] 2554 Labels: {} 2555 SizeRw: 12288 2556 SizeRootFs: 0 2557 HostConfig: 2558 NetworkMode: "default" 2559 NetworkSettings: 2560 Networks: 2561 bridge: 2562 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 2563 EndpointID: "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d" 2564 Gateway: "172.17.0.1" 2565 IPAddress: "172.17.0.6" 2566 IPPrefixLen: 16 2567 IPv6Gateway: "" 2568 GlobalIPv6Address: "" 2569 GlobalIPv6PrefixLen: 0 2570 MacAddress: "02:42:ac:11:00:06" 2571 Mounts: [] 2572 - Id: "4cb07b47f9fb" 2573 Names: 2574 - "/running_cat" 2575 Image: "ubuntu:latest" 2576 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 2577 Command: "echo 444444444444444444444444444444444" 2578 Created: 1367854152 2579 State: "Exited" 2580 Status: "Exit 0" 2581 Ports: [] 2582 Labels: {} 2583 SizeRw: 12288 2584 SizeRootFs: 0 2585 HostConfig: 2586 NetworkMode: "default" 2587 NetworkSettings: 2588 Networks: 2589 bridge: 2590 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 2591 EndpointID: "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9" 2592 Gateway: "172.17.0.1" 2593 IPAddress: "172.17.0.5" 2594 IPPrefixLen: 16 2595 IPv6Gateway: "" 2596 GlobalIPv6Address: "" 2597 GlobalIPv6PrefixLen: 0 2598 MacAddress: "02:42:ac:11:00:05" 2599 Mounts: [] 2600 400: 2601 description: "bad parameter" 2602 schema: 2603 $ref: "#/definitions/ErrorResponse" 2604 500: 2605 description: "server error" 2606 schema: 2607 $ref: "#/definitions/ErrorResponse" 2608 tags: ["Container"] 2609 /containers/create: 2610 post: 2611 summary: "Create a container" 2612 operationId: "ContainerCreate" 2613 consumes: 2614 - "application/json" 2615 - "application/octet-stream" 2616 produces: 2617 - "application/json" 2618 parameters: 2619 - name: "name" 2620 in: "query" 2621 description: "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`." 2622 type: "string" 2623 pattern: "/?[a-zA-Z0-9_-]+" 2624 - name: "body" 2625 in: "body" 2626 description: "Container to create" 2627 schema: 2628 allOf: 2629 - $ref: "#/definitions/Config" 2630 - type: "object" 2631 properties: 2632 HostConfig: 2633 $ref: "#/definitions/HostConfig" 2634 NetworkingConfig: 2635 description: "This container's networking configuration." 2636 type: "object" 2637 properties: 2638 EndpointsConfig: 2639 description: "A mapping of network name to endpoint configuration for that network." 2640 type: "object" 2641 additionalProperties: 2642 $ref: "#/definitions/EndpointSettings" 2643 example: 2644 Hostname: "" 2645 Domainname: "" 2646 User: "" 2647 AttachStdin: false 2648 AttachStdout: true 2649 AttachStderr: true 2650 Tty: false 2651 OpenStdin: false 2652 StdinOnce: false 2653 Env: 2654 - "FOO=bar" 2655 - "BAZ=quux" 2656 Cmd: 2657 - "date" 2658 Entrypoint: "" 2659 Image: "ubuntu" 2660 Labels: 2661 com.example.vendor: "Acme" 2662 com.example.license: "GPL" 2663 com.example.version: "1.0" 2664 Volumes: 2665 /volumes/data: {} 2666 WorkingDir: "" 2667 NetworkDisabled: false 2668 MacAddress: "12:34:56:78:9a:bc" 2669 ExposedPorts: 2670 22/tcp: {} 2671 StopSignal: "SIGTERM" 2672 StopTimeout: 10 2673 HostConfig: 2674 Binds: 2675 - "/tmp:/tmp" 2676 Links: 2677 - "redis3:redis" 2678 Memory: 0 2679 MemorySwap: 0 2680 MemoryReservation: 0 2681 KernelMemory: 0 2682 NanoCPUs: 500000 2683 CpuPercent: 80 2684 CpuShares: 512 2685 CpuPeriod: 100000 2686 CpuRealtimePeriod: 1000000 2687 CpuRealtimeRuntime: 10000 2688 CpuQuota: 50000 2689 CpusetCpus: "0,1" 2690 CpusetMems: "0,1" 2691 MaximumIOps: 0 2692 MaximumIOBps: 0 2693 BlkioWeight: 300 2694 BlkioWeightDevice: 2695 - {} 2696 BlkioDeviceReadBps: 2697 - {} 2698 BlkioDeviceReadIOps: 2699 - {} 2700 BlkioDeviceWriteBps: 2701 - {} 2702 BlkioDeviceWriteIOps: 2703 - {} 2704 MemorySwappiness: 60 2705 OomKillDisable: false 2706 OomScoreAdj: 500 2707 PidMode: "" 2708 PidsLimit: -1 2709 PortBindings: 2710 22/tcp: 2711 - HostPort: "11022" 2712 PublishAllPorts: false 2713 Privileged: false 2714 ReadonlyRootfs: false 2715 Dns: 2716 - "8.8.8.8" 2717 DnsOptions: 2718 - "" 2719 DnsSearch: 2720 - "" 2721 VolumesFrom: 2722 - "parent" 2723 - "other:ro" 2724 CapAdd: 2725 - "NET_ADMIN" 2726 CapDrop: 2727 - "MKNOD" 2728 GroupAdd: 2729 - "newgroup" 2730 RestartPolicy: 2731 Name: "" 2732 MaximumRetryCount: 0 2733 AutoRemove: true 2734 NetworkMode: "bridge" 2735 Devices: [] 2736 Ulimits: 2737 - {} 2738 LogConfig: 2739 Type: "json-file" 2740 Config: {} 2741 SecurityOpt: [] 2742 StorageOpt: {} 2743 CgroupParent: "" 2744 VolumeDriver: "" 2745 ShmSize: 67108864 2746 NetworkingConfig: 2747 EndpointsConfig: 2748 isolated_nw: 2749 IPAMConfig: 2750 IPv4Address: "172.20.30.33" 2751 IPv6Address: "2001:db8:abcd::3033" 2752 LinkLocalIPs: 2753 - "169.254.34.68" 2754 - "fe80::3468" 2755 Links: 2756 - "container_1" 2757 - "container_2" 2758 Aliases: 2759 - "server_x" 2760 - "server_y" 2761 2762 required: true 2763 responses: 2764 201: 2765 description: "Container created successfully" 2766 schema: 2767 type: "object" 2768 required: [Id, Warnings] 2769 properties: 2770 Id: 2771 description: "The ID of the created container" 2772 type: "string" 2773 x-nullable: false 2774 Warnings: 2775 description: "Warnings encountered when creating the container" 2776 type: "array" 2777 x-nullable: false 2778 items: 2779 type: "string" 2780 examples: 2781 application/json: 2782 Id: "e90e34656806" 2783 Warnings: [] 2784 400: 2785 description: "bad parameter" 2786 schema: 2787 $ref: "#/definitions/ErrorResponse" 2788 404: 2789 description: "no such container" 2790 schema: 2791 $ref: "#/definitions/ErrorResponse" 2792 examples: 2793 application/json: 2794 message: "No such container: c2ada9df5af8" 2795 406: 2796 description: "impossible to attach" 2797 schema: 2798 $ref: "#/definitions/ErrorResponse" 2799 409: 2800 description: "conflict" 2801 schema: 2802 $ref: "#/definitions/ErrorResponse" 2803 500: 2804 description: "server error" 2805 schema: 2806 $ref: "#/definitions/ErrorResponse" 2807 tags: ["Container"] 2808 /containers/{id}/json: 2809 get: 2810 summary: "Inspect a container" 2811 description: "Return low-level information about a container." 2812 operationId: "ContainerInspect" 2813 produces: 2814 - "application/json" 2815 responses: 2816 200: 2817 description: "no error" 2818 schema: 2819 type: "object" 2820 properties: 2821 Id: 2822 description: "The ID of the container" 2823 type: "string" 2824 Created: 2825 description: "The time the container was created" 2826 type: "string" 2827 Path: 2828 description: "The path to the command being run" 2829 type: "string" 2830 Args: 2831 description: "The arguments to the command being run" 2832 type: "array" 2833 items: 2834 type: "string" 2835 State: 2836 description: "The state of the container." 2837 type: "object" 2838 properties: 2839 Status: 2840 description: "The status of the container. For example, `running` or `exited`." 2841 type: "string" 2842 Running: 2843 description: "Whether this container is running." 2844 type: "boolean" 2845 Paused: 2846 description: "Whether this container is paused." 2847 type: "boolean" 2848 Restarting: 2849 description: "Whether this container is restarting." 2850 type: "boolean" 2851 OOMKilled: 2852 description: "Whether this container has been killed because it ran out of memory." 2853 type: "boolean" 2854 Dead: 2855 type: "boolean" 2856 Pid: 2857 description: "The process ID of this container" 2858 type: "integer" 2859 ExitCode: 2860 description: "The last exit code of this container" 2861 type: "integer" 2862 Error: 2863 type: "string" 2864 StartedAt: 2865 description: "The time when this container was last started." 2866 type: "string" 2867 FinishedAt: 2868 description: "The time when this container last exited." 2869 type: "string" 2870 Image: 2871 description: "The container's image" 2872 type: "string" 2873 ResolvConfPath: 2874 type: "string" 2875 HostnamePath: 2876 type: "string" 2877 HostsPath: 2878 type: "string" 2879 LogPath: 2880 type: "string" 2881 Node: 2882 description: "TODO" 2883 type: "object" 2884 Name: 2885 type: "string" 2886 RestartCount: 2887 type: "integer" 2888 Driver: 2889 type: "string" 2890 MountLabel: 2891 type: "string" 2892 ProcessLabel: 2893 type: "string" 2894 AppArmorProfile: 2895 type: "string" 2896 ExecIDs: 2897 type: "string" 2898 HostConfig: 2899 $ref: "#/definitions/HostConfig" 2900 GraphDriver: 2901 $ref: "#/definitions/GraphDriver" 2902 SizeRw: 2903 description: "The size of files that have been created or changed by this container." 2904 type: "integer" 2905 format: "int64" 2906 SizeRootFs: 2907 description: "The total size of all the files in this container." 2908 type: "integer" 2909 format: "int64" 2910 Mounts: 2911 type: "array" 2912 items: 2913 $ref: "#/definitions/MountPoint" 2914 Config: 2915 $ref: "#/definitions/Config" 2916 NetworkSettings: 2917 $ref: "#/definitions/NetworkConfig" 2918 examples: 2919 application/json: 2920 AppArmorProfile: "" 2921 Args: 2922 - "-c" 2923 - "exit 9" 2924 Config: 2925 AttachStderr: true 2926 AttachStdin: false 2927 AttachStdout: true 2928 Cmd: 2929 - "/bin/sh" 2930 - "-c" 2931 - "exit 9" 2932 Domainname: "" 2933 Env: 2934 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 2935 Hostname: "ba033ac44011" 2936 Image: "ubuntu" 2937 Labels: 2938 com.example.vendor: "Acme" 2939 com.example.license: "GPL" 2940 com.example.version: "1.0" 2941 MacAddress: "" 2942 NetworkDisabled: false 2943 OpenStdin: false 2944 StdinOnce: false 2945 Tty: false 2946 User: "" 2947 Volumes: 2948 /volumes/data: {} 2949 WorkingDir: "" 2950 StopSignal: "SIGTERM" 2951 StopTimeout: 10 2952 Created: "2015-01-06T15:47:31.485331387Z" 2953 Driver: "devicemapper" 2954 HostConfig: 2955 MaximumIOps: 0 2956 MaximumIOBps: 0 2957 BlkioWeight: 0 2958 BlkioWeightDevice: 2959 - {} 2960 BlkioDeviceReadBps: 2961 - {} 2962 BlkioDeviceWriteBps: 2963 - {} 2964 BlkioDeviceReadIOps: 2965 - {} 2966 BlkioDeviceWriteIOps: 2967 - {} 2968 ContainerIDFile: "" 2969 CpusetCpus: "" 2970 CpusetMems: "" 2971 CpuPercent: 80 2972 CpuShares: 0 2973 CpuPeriod: 100000 2974 CpuRealtimePeriod: 1000000 2975 CpuRealtimeRuntime: 10000 2976 Devices: [] 2977 IpcMode: "" 2978 LxcConf: [] 2979 Memory: 0 2980 MemorySwap: 0 2981 MemoryReservation: 0 2982 KernelMemory: 0 2983 OomKillDisable: false 2984 OomScoreAdj: 500 2985 NetworkMode: "bridge" 2986 PidMode: "" 2987 PortBindings: {} 2988 Privileged: false 2989 ReadonlyRootfs: false 2990 PublishAllPorts: false 2991 RestartPolicy: 2992 MaximumRetryCount: 2 2993 Name: "on-failure" 2994 LogConfig: 2995 Type: "json-file" 2996 Sysctls: 2997 net.ipv4.ip_forward: "1" 2998 Ulimits: 2999 - {} 3000 VolumeDriver: "" 3001 ShmSize: 67108864 3002 HostnamePath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname" 3003 HostsPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts" 3004 LogPath: "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log" 3005 Id: "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39" 3006 Image: "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2" 3007 MountLabel: "" 3008 Name: "/boring_euclid" 3009 NetworkSettings: 3010 Bridge: "" 3011 SandboxID: "" 3012 HairpinMode: false 3013 LinkLocalIPv6Address: "" 3014 LinkLocalIPv6PrefixLen: 0 3015 SandboxKey: "" 3016 SecondaryIPAddresses: null 3017 SecondaryIPv6Addresses: null 3018 EndpointID: "" 3019 Gateway: "" 3020 GlobalIPv6Address: "" 3021 GlobalIPv6PrefixLen: 0 3022 IPAddress: "" 3023 IPPrefixLen: 0 3024 IPv6Gateway: "" 3025 MacAddress: "" 3026 Networks: 3027 bridge: 3028 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 3029 EndpointID: "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d" 3030 Gateway: "172.17.0.1" 3031 IPAddress: "172.17.0.2" 3032 IPPrefixLen: 16 3033 IPv6Gateway: "" 3034 GlobalIPv6Address: "" 3035 GlobalIPv6PrefixLen: 0 3036 MacAddress: "02:42:ac:12:00:02" 3037 Path: "/bin/sh" 3038 ProcessLabel: "" 3039 ResolvConfPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf" 3040 RestartCount: 1 3041 State: 3042 Error: "" 3043 ExitCode: 9 3044 FinishedAt: "2015-01-06T15:47:32.080254511Z" 3045 OOMKilled: false 3046 Dead: false 3047 Paused: false 3048 Pid: 0 3049 Restarting: false 3050 Running: true 3051 StartedAt: "2015-01-06T15:47:32.072697474Z" 3052 Status: "running" 3053 Mounts: 3054 - Name: "fac362...80535" 3055 Source: "/data" 3056 Destination: "/data" 3057 Driver: "local" 3058 Mode: "ro,Z" 3059 RW: false 3060 Propagation: "" 3061 404: 3062 description: "no such container" 3063 schema: 3064 $ref: "#/definitions/ErrorResponse" 3065 examples: 3066 application/json: 3067 message: "No such container: c2ada9df5af8" 3068 500: 3069 description: "server error" 3070 schema: 3071 $ref: "#/definitions/ErrorResponse" 3072 parameters: 3073 - name: "id" 3074 in: "path" 3075 required: true 3076 description: "ID or name of the container" 3077 type: "string" 3078 - name: "size" 3079 in: "query" 3080 type: "boolean" 3081 default: false 3082 description: "Return the size of container as fields `SizeRw` and `SizeRootFs`" 3083 tags: ["Container"] 3084 /containers/{id}/top: 3085 get: 3086 summary: "List processes running inside a container" 3087 description: "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows." 3088 operationId: "ContainerTop" 3089 responses: 3090 200: 3091 description: "no error" 3092 schema: 3093 type: "object" 3094 properties: 3095 Titles: 3096 description: "The ps column titles" 3097 type: "array" 3098 items: 3099 type: "string" 3100 Processes: 3101 description: "Each process running in the container, where each is process is an array of values corresponding to the titles" 3102 type: "array" 3103 items: 3104 type: "array" 3105 items: 3106 type: "string" 3107 examples: 3108 application/json: 3109 Titles: 3110 - "UID" 3111 - "PID" 3112 - "PPID" 3113 - "C" 3114 - "STIME" 3115 - "TTY" 3116 - "TIME" 3117 - "CMD" 3118 Processes: 3119 - 3120 - "root" 3121 - "13642" 3122 - "882" 3123 - "0" 3124 - "17:03" 3125 - "pts/0" 3126 - "00:00:00" 3127 - "/bin/bash" 3128 - 3129 - "root" 3130 - "13735" 3131 - "13642" 3132 - "0" 3133 - "17:06" 3134 - "pts/0" 3135 - "00:00:00" 3136 - "sleep 10" 3137 404: 3138 description: "no such container" 3139 schema: 3140 $ref: "#/definitions/ErrorResponse" 3141 examples: 3142 application/json: 3143 message: "No such container: c2ada9df5af8" 3144 500: 3145 description: "server error" 3146 schema: 3147 $ref: "#/definitions/ErrorResponse" 3148 parameters: 3149 - name: "id" 3150 in: "path" 3151 required: true 3152 description: "ID or name of the container" 3153 type: "string" 3154 - name: "ps_args" 3155 in: "query" 3156 description: "The arguments to pass to `ps`. For example, `aux`" 3157 type: "string" 3158 default: "-ef" 3159 tags: ["Container"] 3160 /containers/{id}/logs: 3161 get: 3162 summary: "Get container logs" 3163 description: | 3164 Get `stdout` and `stderr` logs from a container. 3165 3166 Note: This endpoint works only for containers with the `json-file` or `journald` logging driver. 3167 operationId: "ContainerLogs" 3168 responses: 3169 101: 3170 description: "logs returned as a stream" 3171 schema: 3172 type: "string" 3173 format: "binary" 3174 200: 3175 description: "logs returned as a string in response body" 3176 schema: 3177 type: "string" 3178 404: 3179 description: "no such container" 3180 schema: 3181 $ref: "#/definitions/ErrorResponse" 3182 examples: 3183 application/json: 3184 message: "No such container: c2ada9df5af8" 3185 500: 3186 description: "server error" 3187 schema: 3188 $ref: "#/definitions/ErrorResponse" 3189 parameters: 3190 - name: "id" 3191 in: "path" 3192 required: true 3193 description: "ID or name of the container" 3194 type: "string" 3195 - name: "follow" 3196 in: "query" 3197 description: | 3198 Return the logs as a stream. 3199 3200 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). 3201 type: "boolean" 3202 default: false 3203 - name: "stdout" 3204 in: "query" 3205 description: "Return logs from `stdout`" 3206 type: "boolean" 3207 default: false 3208 - name: "stderr" 3209 in: "query" 3210 description: "Return logs from `stderr`" 3211 type: "boolean" 3212 default: false 3213 - name: "since" 3214 in: "query" 3215 description: "Only return logs since this time, as a UNIX timestamp" 3216 type: "integer" 3217 default: 0 3218 - name: "timestamps" 3219 in: "query" 3220 description: "Add timestamps to every log line" 3221 type: "boolean" 3222 default: false 3223 - name: "tail" 3224 in: "query" 3225 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." 3226 type: "string" 3227 default: "all" 3228 tags: ["Container"] 3229 /containers/{id}/changes: 3230 get: 3231 summary: "Get changes on a container’s filesystem" 3232 description: | 3233 Returns which files in a container's filesystem have been added, deleted, or modified. The `Kind` of modification can be one of: 3234 3235 - `0`: Modified 3236 - `1`: Added 3237 - `2`: Deleted 3238 operationId: "ContainerChanges" 3239 produces: 3240 - "application/json" 3241 responses: 3242 200: 3243 description: "no error" 3244 schema: 3245 type: "array" 3246 items: 3247 type: "object" 3248 properties: 3249 Path: 3250 description: "Path to file that has changed" 3251 type: "string" 3252 Kind: 3253 description: "Kind of change" 3254 type: "integer" 3255 enum: 3256 - 0 3257 - 1 3258 - 2 3259 examples: 3260 application/json: 3261 - Path: "/dev" 3262 Kind: 0 3263 - Path: "/dev/kmsg" 3264 Kind: 1 3265 - Path: "/test" 3266 Kind: 1 3267 404: 3268 description: "no such container" 3269 schema: 3270 $ref: "#/definitions/ErrorResponse" 3271 examples: 3272 application/json: 3273 message: "No such container: c2ada9df5af8" 3274 500: 3275 description: "server error" 3276 schema: 3277 $ref: "#/definitions/ErrorResponse" 3278 parameters: 3279 - name: "id" 3280 in: "path" 3281 required: true 3282 description: "ID or name of the container" 3283 type: "string" 3284 tags: ["Container"] 3285 /containers/{id}/export: 3286 get: 3287 summary: "Export a container" 3288 description: "Export the contents of a container as a tarball." 3289 operationId: "ContainerExport" 3290 produces: 3291 - "application/octet-stream" 3292 responses: 3293 200: 3294 description: "no error" 3295 404: 3296 description: "no such container" 3297 schema: 3298 $ref: "#/definitions/ErrorResponse" 3299 examples: 3300 application/json: 3301 message: "No such container: c2ada9df5af8" 3302 500: 3303 description: "server error" 3304 schema: 3305 $ref: "#/definitions/ErrorResponse" 3306 parameters: 3307 - name: "id" 3308 in: "path" 3309 required: true 3310 description: "ID or name of the container" 3311 type: "string" 3312 tags: ["Container"] 3313 /containers/{id}/stats: 3314 get: 3315 summary: "Get container stats based on resource usage" 3316 description: | 3317 This endpoint returns a live stream of a container’s resource usage statistics. 3318 3319 The `precpu_stats` is the CPU statistic of last read, which is used for calculating the CPU usage percentage. It is not the same as the `cpu_stats` field. 3320 operationId: "ContainerStats" 3321 produces: 3322 - "application/json" 3323 responses: 3324 200: 3325 description: "no error" 3326 schema: 3327 type: "object" 3328 examples: 3329 application/json: 3330 read: "2015-01-08T22:57:31.547920715Z" 3331 pids_stats: 3332 current: 3 3333 networks: 3334 eth0: 3335 rx_bytes: 5338 3336 rx_dropped: 0 3337 rx_errors: 0 3338 rx_packets: 36 3339 tx_bytes: 648 3340 tx_dropped: 0 3341 tx_errors: 0 3342 tx_packets: 8 3343 eth5: 3344 rx_bytes: 4641 3345 rx_dropped: 0 3346 rx_errors: 0 3347 rx_packets: 26 3348 tx_bytes: 690 3349 tx_dropped: 0 3350 tx_errors: 0 3351 tx_packets: 9 3352 memory_stats: 3353 stats: 3354 total_pgmajfault: 0 3355 cache: 0 3356 mapped_file: 0 3357 total_inactive_file: 0 3358 pgpgout: 414 3359 rss: 6537216 3360 total_mapped_file: 0 3361 writeback: 0 3362 unevictable: 0 3363 pgpgin: 477 3364 total_unevictable: 0 3365 pgmajfault: 0 3366 total_rss: 6537216 3367 total_rss_huge: 6291456 3368 total_writeback: 0 3369 total_inactive_anon: 0 3370 rss_huge: 6291456 3371 hierarchical_memory_limit: 67108864 3372 total_pgfault: 964 3373 total_active_file: 0 3374 active_anon: 6537216 3375 total_active_anon: 6537216 3376 total_pgpgout: 414 3377 total_cache: 0 3378 inactive_anon: 0 3379 active_file: 0 3380 pgfault: 964 3381 inactive_file: 0 3382 total_pgpgin: 477 3383 max_usage: 6651904 3384 usage: 6537216 3385 failcnt: 0 3386 limit: 67108864 3387 blkio_stats: {} 3388 cpu_stats: 3389 cpu_usage: 3390 percpu_usage: 3391 - 8646879 3392 - 24472255 3393 - 36438778 3394 - 30657443 3395 usage_in_usermode: 50000000 3396 total_usage: 100215355 3397 usage_in_kernelmode: 30000000 3398 system_cpu_usage: 739306590000000 3399 throttling_data: 3400 periods: 0 3401 throttled_periods: 0 3402 throttled_time: 0 3403 precpu_stats: 3404 cpu_usage: 3405 percpu_usage: 3406 - 8646879 3407 - 24350896 3408 - 36438778 3409 - 30657443 3410 usage_in_usermode: 50000000 3411 total_usage: 100093996 3412 usage_in_kernelmode: 30000000 3413 system_cpu_usage: 9492140000000 3414 throttling_data: 3415 periods: 0 3416 throttled_periods: 0 3417 throttled_time: 0 3418 404: 3419 description: "no such container" 3420 schema: 3421 $ref: "#/definitions/ErrorResponse" 3422 examples: 3423 application/json: 3424 message: "No such container: c2ada9df5af8" 3425 500: 3426 description: "server error" 3427 schema: 3428 $ref: "#/definitions/ErrorResponse" 3429 parameters: 3430 - name: "id" 3431 in: "path" 3432 required: true 3433 description: "ID or name of the container" 3434 type: "string" 3435 - name: "stream" 3436 in: "query" 3437 description: "Stream the output. If false, the stats will be output once and then it will disconnect." 3438 type: "boolean" 3439 default: true 3440 tags: ["Container"] 3441 /containers/{id}/resize: 3442 post: 3443 summary: "Resize a container TTY" 3444 description: "Resize the TTY for a container. You must restart the container for the resize to take effect." 3445 operationId: "ContainerResize" 3446 consumes: 3447 - "application/octet-stream" 3448 produces: 3449 - "text/plain" 3450 responses: 3451 200: 3452 description: "no error" 3453 404: 3454 description: "no such container" 3455 schema: 3456 $ref: "#/definitions/ErrorResponse" 3457 examples: 3458 application/json: 3459 message: "No such container: c2ada9df5af8" 3460 500: 3461 description: "cannot resize container" 3462 schema: 3463 $ref: "#/definitions/ErrorResponse" 3464 parameters: 3465 - name: "id" 3466 in: "path" 3467 required: true 3468 description: "ID or name of the container" 3469 type: "string" 3470 - name: "h" 3471 in: "query" 3472 description: "Height of the tty session in characters" 3473 type: "integer" 3474 - name: "w" 3475 in: "query" 3476 description: "Width of the tty session in characters" 3477 type: "integer" 3478 tags: ["Container"] 3479 /containers/{id}/start: 3480 post: 3481 summary: "Start a container" 3482 operationId: "ContainerStart" 3483 responses: 3484 204: 3485 description: "no error" 3486 304: 3487 description: "container already started" 3488 schema: 3489 $ref: "#/definitions/ErrorResponse" 3490 404: 3491 description: "no such container" 3492 schema: 3493 $ref: "#/definitions/ErrorResponse" 3494 examples: 3495 application/json: 3496 message: "No such container: c2ada9df5af8" 3497 500: 3498 description: "server error" 3499 schema: 3500 $ref: "#/definitions/ErrorResponse" 3501 parameters: 3502 - name: "id" 3503 in: "path" 3504 required: true 3505 description: "ID or name of the container" 3506 type: "string" 3507 - name: "detachKeys" 3508 in: "query" 3509 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 `_`." 3510 type: "string" 3511 tags: ["Container"] 3512 /containers/{id}/stop: 3513 post: 3514 summary: "Stop a container" 3515 operationId: "ContainerStop" 3516 responses: 3517 204: 3518 description: "no error" 3519 304: 3520 description: "container already stopped" 3521 schema: 3522 $ref: "#/definitions/ErrorResponse" 3523 404: 3524 description: "no such container" 3525 schema: 3526 $ref: "#/definitions/ErrorResponse" 3527 examples: 3528 application/json: 3529 message: "No such container: c2ada9df5af8" 3530 500: 3531 description: "server error" 3532 schema: 3533 $ref: "#/definitions/ErrorResponse" 3534 parameters: 3535 - name: "id" 3536 in: "path" 3537 required: true 3538 description: "ID or name of the container" 3539 type: "string" 3540 - name: "t" 3541 in: "query" 3542 description: "Number of seconds to wait before killing the container" 3543 type: "integer" 3544 tags: ["Container"] 3545 /containers/{id}/restart: 3546 post: 3547 summary: "Restart a container" 3548 operationId: "ContainerRestart" 3549 responses: 3550 204: 3551 description: "no error" 3552 404: 3553 description: "no such container" 3554 schema: 3555 $ref: "#/definitions/ErrorResponse" 3556 examples: 3557 application/json: 3558 message: "No such container: c2ada9df5af8" 3559 500: 3560 description: "server error" 3561 schema: 3562 $ref: "#/definitions/ErrorResponse" 3563 parameters: 3564 - name: "id" 3565 in: "path" 3566 required: true 3567 description: "ID or name of the container" 3568 type: "string" 3569 - name: "t" 3570 in: "query" 3571 description: "Number of seconds to wait before killing the container" 3572 type: "integer" 3573 tags: ["Container"] 3574 /containers/{id}/kill: 3575 post: 3576 summary: "Kill a container" 3577 description: "Send a POSIX signal to a container, defaulting to killing to the container." 3578 operationId: "ContainerKill" 3579 responses: 3580 204: 3581 description: "no error" 3582 404: 3583 description: "no such container" 3584 schema: 3585 $ref: "#/definitions/ErrorResponse" 3586 examples: 3587 application/json: 3588 message: "No such container: c2ada9df5af8" 3589 500: 3590 description: "server error" 3591 schema: 3592 $ref: "#/definitions/ErrorResponse" 3593 parameters: 3594 - name: "id" 3595 in: "path" 3596 required: true 3597 description: "ID or name of the container" 3598 type: "string" 3599 - name: "signal" 3600 in: "query" 3601 description: "Signal to send to the container as an integer or string (e.g. `SIGINT`)" 3602 type: "string" 3603 default: "SIGKILL" 3604 tags: ["Container"] 3605 /containers/{id}/update: 3606 post: 3607 summary: "Update a container" 3608 description: "Change various configuration options of a container without having to recreate it." 3609 operationId: "ContainerUpdate" 3610 consumes: ["application/json"] 3611 produces: ["application/json"] 3612 responses: 3613 200: 3614 description: "The container has been updated." 3615 schema: 3616 type: "object" 3617 properties: 3618 Warnings: 3619 type: "array" 3620 items: 3621 type: "string" 3622 404: 3623 description: "no such container" 3624 schema: 3625 $ref: "#/definitions/ErrorResponse" 3626 examples: 3627 application/json: 3628 message: "No such container: c2ada9df5af8" 3629 500: 3630 description: "server error" 3631 schema: 3632 $ref: "#/definitions/ErrorResponse" 3633 parameters: 3634 - name: "id" 3635 in: "path" 3636 required: true 3637 description: "ID or name of the container" 3638 type: "string" 3639 - name: "update" 3640 in: "body" 3641 required: true 3642 schema: 3643 allOf: 3644 - $ref: "#/definitions/Resources" 3645 - type: "object" 3646 properties: 3647 RestartPolicy: 3648 $ref: "#/definitions/RestartPolicy" 3649 example: 3650 BlkioWeight: 300 3651 CpuShares: 512 3652 CpuPeriod: 100000 3653 CpuQuota: 50000 3654 CpuRealtimePeriod: 1000000 3655 CpuRealtimeRuntime: 10000 3656 CpusetCpus: "0,1" 3657 CpusetMems: "0" 3658 Memory: 314572800 3659 MemorySwap: 514288000 3660 MemoryReservation: 209715200 3661 KernelMemory: 52428800 3662 RestartPolicy: 3663 MaximumRetryCount: 4 3664 Name: "on-failure" 3665 tags: ["Container"] 3666 /containers/{id}/rename: 3667 post: 3668 summary: "Rename a container" 3669 operationId: "ContainerRename" 3670 responses: 3671 204: 3672 description: "no error" 3673 404: 3674 description: "no such container" 3675 schema: 3676 $ref: "#/definitions/ErrorResponse" 3677 examples: 3678 application/json: 3679 message: "No such container: c2ada9df5af8" 3680 409: 3681 description: "name already in use" 3682 schema: 3683 $ref: "#/definitions/ErrorResponse" 3684 500: 3685 description: "server error" 3686 schema: 3687 $ref: "#/definitions/ErrorResponse" 3688 parameters: 3689 - name: "id" 3690 in: "path" 3691 required: true 3692 description: "ID or name of the container" 3693 type: "string" 3694 - name: "name" 3695 in: "query" 3696 required: true 3697 description: "New name for the container" 3698 type: "string" 3699 tags: ["Container"] 3700 /containers/{id}/pause: 3701 post: 3702 summary: "Pause a container" 3703 description: | 3704 Use the cgroups freezer to suspend all processes in a container. 3705 3706 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. 3707 operationId: "ContainerPause" 3708 responses: 3709 204: 3710 description: "no error" 3711 404: 3712 description: "no such container" 3713 schema: 3714 $ref: "#/definitions/ErrorResponse" 3715 examples: 3716 application/json: 3717 message: "No such container: c2ada9df5af8" 3718 500: 3719 description: "server error" 3720 schema: 3721 $ref: "#/definitions/ErrorResponse" 3722 parameters: 3723 - name: "id" 3724 in: "path" 3725 required: true 3726 description: "ID or name of the container" 3727 type: "string" 3728 tags: ["Container"] 3729 /containers/{id}/unpause: 3730 post: 3731 summary: "Unpause a container" 3732 description: "Resume a container which has been paused." 3733 operationId: "ContainerUnpause" 3734 responses: 3735 204: 3736 description: "no error" 3737 404: 3738 description: "no such container" 3739 schema: 3740 $ref: "#/definitions/ErrorResponse" 3741 examples: 3742 application/json: 3743 message: "No such container: c2ada9df5af8" 3744 500: 3745 description: "server error" 3746 schema: 3747 $ref: "#/definitions/ErrorResponse" 3748 parameters: 3749 - name: "id" 3750 in: "path" 3751 required: true 3752 description: "ID or name of the container" 3753 type: "string" 3754 tags: ["Container"] 3755 /containers/{id}/attach: 3756 post: 3757 summary: "Attach to a container" 3758 description: | 3759 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. 3760 3761 Either the `stream` or `logs` parameter must be `true` for this endpoint to do anything. 3762 3763 See [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details. 3764 3765 ### Hijacking 3766 3767 This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket. 3768 3769 This is the response from the daemon for an attach request: 3770 3771 ``` 3772 HTTP/1.1 200 OK 3773 Content-Type: application/vnd.docker.raw-stream 3774 3775 [STREAM] 3776 ``` 3777 3778 After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server. 3779 3780 To hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers. 3781 3782 For example, the client sends this request to upgrade the connection: 3783 3784 ``` 3785 POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1 3786 Upgrade: tcp 3787 Connection: Upgrade 3788 ``` 3789 3790 The Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream: 3791 3792 ``` 3793 HTTP/1.1 101 UPGRADED 3794 Content-Type: application/vnd.docker.raw-stream 3795 Connection: Upgrade 3796 Upgrade: tcp 3797 3798 [STREAM] 3799 ``` 3800 3801 ### Stream format 3802 3803 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. 3804 3805 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`). 3806 3807 It is encoded on the first eight bytes like this: 3808 3809 ```go 3810 header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4} 3811 ``` 3812 3813 `STREAM_TYPE` can be: 3814 3815 - 0: `stdin` (is written on `stdout`) 3816 - 1: `stdout` 3817 - 2: `stderr` 3818 3819 `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian. 3820 3821 Following the header is the payload, which is the specified number of bytes of `STREAM_TYPE`. 3822 3823 The simplest way to implement this protocol is the following: 3824 3825 1. Read 8 bytes. 3826 2. Choose `stdout` or `stderr` depending on the first byte. 3827 3. Extract the frame size from the last four bytes. 3828 4. Read the extracted size and output it on the correct output. 3829 5. Goto 1. 3830 3831 ### Stream format when using a TTY 3832 3833 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`. 3834 3835 operationId: "ContainerAttach" 3836 produces: 3837 - "application/vnd.docker.raw-stream" 3838 responses: 3839 101: 3840 description: "no error, hints proxy about hijacking" 3841 200: 3842 description: "no error, no upgrade header found" 3843 400: 3844 description: "bad parameter" 3845 schema: 3846 $ref: "#/definitions/ErrorResponse" 3847 404: 3848 description: "no such container" 3849 schema: 3850 $ref: "#/definitions/ErrorResponse" 3851 examples: 3852 application/json: 3853 message: "No such container: c2ada9df5af8" 3854 500: 3855 description: "server error" 3856 schema: 3857 $ref: "#/definitions/ErrorResponse" 3858 parameters: 3859 - name: "id" 3860 in: "path" 3861 required: true 3862 description: "ID or name of the container" 3863 type: "string" 3864 - name: "detachKeys" 3865 in: "query" 3866 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 `_`." 3867 type: "string" 3868 - name: "logs" 3869 in: "query" 3870 description: | 3871 Replay previous logs from the container. 3872 3873 This is useful for attaching to a container that has started and you want to output everything since the container started. 3874 3875 If `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output. 3876 type: "boolean" 3877 default: false 3878 - name: "stream" 3879 in: "query" 3880 description: "Stream attached streams from the the time the request was made onwards" 3881 type: "boolean" 3882 default: false 3883 - name: "stdin" 3884 in: "query" 3885 description: "Attach to `stdin`" 3886 type: "boolean" 3887 default: false 3888 - name: "stdout" 3889 in: "query" 3890 description: "Attach to `stdout`" 3891 type: "boolean" 3892 default: false 3893 - name: "stderr" 3894 in: "query" 3895 description: "Attach to `stderr`" 3896 type: "boolean" 3897 default: false 3898 tags: ["Container"] 3899 /containers/{id}/attach/ws: 3900 get: 3901 summary: "Attach to a container via a websocket" 3902 operationId: "ContainerAttachWebsocket" 3903 responses: 3904 101: 3905 description: "no error, hints proxy about hijacking" 3906 200: 3907 description: "no error, no upgrade header found" 3908 400: 3909 description: "bad parameter" 3910 schema: 3911 $ref: "#/definitions/ErrorResponse" 3912 404: 3913 description: "no such container" 3914 schema: 3915 $ref: "#/definitions/ErrorResponse" 3916 examples: 3917 application/json: 3918 message: "No such container: c2ada9df5af8" 3919 500: 3920 description: "server error" 3921 schema: 3922 $ref: "#/definitions/ErrorResponse" 3923 parameters: 3924 - name: "id" 3925 in: "path" 3926 required: true 3927 description: "ID or name of the container" 3928 type: "string" 3929 - name: "detachKeys" 3930 in: "query" 3931 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 `_`." 3932 type: "string" 3933 - name: "logs" 3934 in: "query" 3935 description: "Return logs" 3936 type: "boolean" 3937 default: false 3938 - name: "stream" 3939 in: "query" 3940 description: "Return stream" 3941 type: "boolean" 3942 default: false 3943 - name: "stdin" 3944 in: "query" 3945 description: "Attach to `stdin`" 3946 type: "boolean" 3947 default: false 3948 - name: "stdout" 3949 in: "query" 3950 description: "Attach to `stdout`" 3951 type: "boolean" 3952 default: false 3953 - name: "stderr" 3954 in: "query" 3955 description: "Attach to `stderr`" 3956 type: "boolean" 3957 default: false 3958 tags: ["Container"] 3959 /containers/{id}/wait: 3960 post: 3961 summary: "Wait for a container" 3962 description: "Block until a container stops, then returns the exit code." 3963 operationId: "ContainerWait" 3964 produces: ["application/json"] 3965 responses: 3966 200: 3967 description: "The container has exit." 3968 schema: 3969 type: "object" 3970 required: [StatusCode] 3971 properties: 3972 StatusCode: 3973 description: "Exit code of the container" 3974 type: "integer" 3975 x-nullable: false 3976 404: 3977 description: "no such container" 3978 schema: 3979 $ref: "#/definitions/ErrorResponse" 3980 examples: 3981 application/json: 3982 message: "No such container: c2ada9df5af8" 3983 500: 3984 description: "server error" 3985 schema: 3986 $ref: "#/definitions/ErrorResponse" 3987 parameters: 3988 - name: "id" 3989 in: "path" 3990 required: true 3991 description: "ID or name of the container" 3992 type: "string" 3993 tags: ["Container"] 3994 /containers/{id}: 3995 delete: 3996 summary: "Remove a container" 3997 operationId: "ContainerDelete" 3998 responses: 3999 204: 4000 description: "no error" 4001 400: 4002 description: "bad parameter" 4003 schema: 4004 $ref: "#/definitions/ErrorResponse" 4005 404: 4006 description: "no such container" 4007 schema: 4008 $ref: "#/definitions/ErrorResponse" 4009 examples: 4010 application/json: 4011 message: "No such container: c2ada9df5af8" 4012 500: 4013 description: "server error" 4014 schema: 4015 $ref: "#/definitions/ErrorResponse" 4016 parameters: 4017 - name: "id" 4018 in: "path" 4019 required: true 4020 description: "ID or name of the container" 4021 type: "string" 4022 - name: "v" 4023 in: "query" 4024 description: "Remove the volumes associated with the container." 4025 type: "boolean" 4026 default: false 4027 - name: "force" 4028 in: "query" 4029 description: "If the container is running, kill it before removing it." 4030 type: "boolean" 4031 default: false 4032 tags: ["Container"] 4033 /containers/{id}/archive: 4034 head: 4035 summary: "Get information about files in a container" 4036 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." 4037 operationId: "ContainerArchiveHead" 4038 responses: 4039 200: 4040 description: "no error" 4041 headers: 4042 X-Docker-Container-Path-Stat: 4043 type: "string" 4044 description: "TODO" 4045 400: 4046 description: "Bad parameter" 4047 schema: 4048 allOf: 4049 - $ref: "#/definitions/ErrorResponse" 4050 - type: "object" 4051 properties: 4052 message: 4053 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)." 4054 type: "string" 4055 x-nullable: false 4056 404: 4057 description: "Container or path does not exist" 4058 schema: 4059 $ref: "#/definitions/ErrorResponse" 4060 examples: 4061 application/json: 4062 message: "No such container: c2ada9df5af8" 4063 500: 4064 description: "Server error" 4065 schema: 4066 $ref: "#/definitions/ErrorResponse" 4067 parameters: 4068 - name: "id" 4069 in: "path" 4070 required: true 4071 description: "ID or name of the container" 4072 type: "string" 4073 - name: "path" 4074 in: "query" 4075 required: true 4076 description: "Resource in the container’s filesystem to archive." 4077 type: "string" 4078 tags: ["Container"] 4079 get: 4080 summary: "Get an archive of a filesystem resource in a container" 4081 description: "Get an tar archive of a resource in the filesystem of container id." 4082 operationId: "ContainerGetArchive" 4083 produces: 4084 - "application/x-tar" 4085 responses: 4086 200: 4087 description: "no error" 4088 400: 4089 description: "Bad parameter" 4090 schema: 4091 allOf: 4092 - $ref: "#/definitions/ErrorResponse" 4093 - type: "object" 4094 properties: 4095 message: 4096 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)." 4097 type: "string" 4098 x-nullable: false 4099 404: 4100 description: "Container or path does not exist" 4101 schema: 4102 $ref: "#/definitions/ErrorResponse" 4103 examples: 4104 application/json: 4105 message: "No such container: c2ada9df5af8" 4106 500: 4107 description: "server error" 4108 schema: 4109 $ref: "#/definitions/ErrorResponse" 4110 parameters: 4111 - name: "id" 4112 in: "path" 4113 required: true 4114 description: "ID or name of the container" 4115 type: "string" 4116 - name: "path" 4117 in: "query" 4118 required: true 4119 description: "Resource in the container’s filesystem to archive." 4120 type: "string" 4121 tags: ["Container"] 4122 put: 4123 summary: "Extract an archive of files or folders to a directory in a container" 4124 description: "Upload a tar archive to be extracted to a path in the filesystem of container id." 4125 operationId: "ContainerPutArchive" 4126 consumes: 4127 - "application/x-tar" 4128 - "application/octet-stream" 4129 responses: 4130 200: 4131 description: "The content was extracted successfully" 4132 400: 4133 description: "Bad parameter" 4134 schema: 4135 $ref: "#/definitions/ErrorResponse" 4136 403: 4137 description: "Permission denied, the volume or container rootfs is marked as read-only." 4138 schema: 4139 $ref: "#/definitions/ErrorResponse" 4140 404: 4141 description: "No such container or path does not exist inside the container" 4142 schema: 4143 $ref: "#/definitions/ErrorResponse" 4144 examples: 4145 application/json: 4146 message: "No such container: c2ada9df5af8" 4147 500: 4148 description: "Server error" 4149 schema: 4150 $ref: "#/definitions/ErrorResponse" 4151 parameters: 4152 - name: "id" 4153 in: "path" 4154 required: true 4155 description: "ID or name of the container" 4156 type: "string" 4157 - name: "path" 4158 in: "query" 4159 required: true 4160 description: "Path to a directory in the container to extract the archive’s contents into. " 4161 type: "string" 4162 - name: "noOverwriteDirNonDir" 4163 in: "query" 4164 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." 4165 type: "string" 4166 - name: "inputStream" 4167 in: "body" 4168 required: true 4169 description: "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz." 4170 schema: 4171 type: "string" 4172 tags: ["Container"] 4173 /containers/prune: 4174 post: 4175 summary: "Delete stopped containers" 4176 produces: 4177 - "application/json" 4178 operationId: "ContainerPrune" 4179 parameters: 4180 - name: "filters" 4181 in: "query" 4182 description: | 4183 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 4184 4185 Available filters: 4186 type: "string" 4187 responses: 4188 200: 4189 description: "No error" 4190 schema: 4191 type: "object" 4192 properties: 4193 ContainersDeleted: 4194 description: "Container IDs that were deleted" 4195 type: "array" 4196 items: 4197 type: "string" 4198 SpaceReclaimed: 4199 description: "Disk space reclaimed in bytes" 4200 type: "integer" 4201 format: "int64" 4202 500: 4203 description: "Server error" 4204 schema: 4205 $ref: "#/definitions/ErrorResponse" 4206 tags: ["Container"] 4207 /images/json: 4208 get: 4209 summary: "List Images" 4210 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." 4211 operationId: "ImageList" 4212 produces: 4213 - "application/json" 4214 responses: 4215 200: 4216 description: "Summary image data for the images matching the query" 4217 schema: 4218 type: "array" 4219 items: 4220 $ref: "#/definitions/ImageSummary" 4221 examples: 4222 application/json: 4223 - Id: "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" 4224 ParentId: "" 4225 RepoTags: 4226 - "ubuntu:12.04" 4227 - "ubuntu:precise" 4228 RepoDigests: 4229 - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787" 4230 Created: 1474925151 4231 Size: 103579269 4232 VirtualSize: 103579269 4233 SharedSize: 0 4234 Labels: {} 4235 Containers: 2 4236 - Id: "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175" 4237 ParentId: "" 4238 RepoTags: 4239 - "ubuntu:12.10" 4240 - "ubuntu:quantal" 4241 RepoDigests: 4242 - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7" 4243 - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3" 4244 Created: 1403128455 4245 Size: 172064416 4246 VirtualSize: 172064416 4247 SharedSize: 0 4248 Labels: {} 4249 Containers: 5 4250 500: 4251 description: "server error" 4252 schema: 4253 $ref: "#/definitions/ErrorResponse" 4254 parameters: 4255 - name: "all" 4256 in: "query" 4257 description: "Show all images. Only images from a final layer (no children) are shown by default." 4258 type: "boolean" 4259 default: false 4260 - name: "filters" 4261 in: "query" 4262 description: | 4263 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. 4264 4265 Available filters: 4266 - `dangling=true` 4267 - `label=key` or `label="key=value"` of an image label 4268 - `before`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`) 4269 - `since`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`) 4270 - `reference`=(`<image-name>[:<tag>]`) 4271 type: "string" 4272 - name: "digests" 4273 in: "query" 4274 description: "Show digest information as a `RepoDigests` field on each image." 4275 type: "boolean" 4276 default: false 4277 tags: ["Image"] 4278 /build: 4279 post: 4280 summary: "Build an image" 4281 description: | 4282 Build an image from a tar archive with a `Dockerfile` in it. 4283 4284 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/). 4285 4286 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. 4287 4288 The build is canceled if the client drops the connection by quitting or being killed. 4289 operationId: "ImageBuild" 4290 consumes: 4291 - "application/octet-stream" 4292 produces: 4293 - "application/json" 4294 parameters: 4295 - name: "inputStream" 4296 in: "body" 4297 description: "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz." 4298 schema: 4299 type: "string" 4300 format: "binary" 4301 - name: "dockerfile" 4302 in: "query" 4303 description: "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`." 4304 type: "string" 4305 default: "Dockerfile" 4306 - name: "t" 4307 in: "query" 4308 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." 4309 type: "string" 4310 - name: "remote" 4311 in: "query" 4312 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." 4313 type: "string" 4314 - name: "q" 4315 in: "query" 4316 description: "Suppress verbose build output." 4317 type: "boolean" 4318 default: false 4319 - name: "nocache" 4320 in: "query" 4321 description: "Do not use the cache when building the image." 4322 type: "boolean" 4323 default: false 4324 - name: "cachefrom" 4325 in: "query" 4326 description: "JSON array of images used for build cache resolution." 4327 type: "string" 4328 - name: "pull" 4329 in: "query" 4330 description: "Attempt to pull the image even if an older image exists locally." 4331 type: "string" 4332 - name: "rm" 4333 in: "query" 4334 description: "Remove intermediate containers after a successful build." 4335 type: "boolean" 4336 default: true 4337 - name: "forcerm" 4338 in: "query" 4339 description: "Always remove intermediate containers, even upon failure." 4340 type: "boolean" 4341 default: false 4342 - name: "memory" 4343 in: "query" 4344 description: "Set memory limit for build." 4345 type: "integer" 4346 - name: "memswap" 4347 in: "query" 4348 description: "Total memory (memory + swap). Set as `-1` to disable swap." 4349 type: "integer" 4350 - name: "cpushares" 4351 in: "query" 4352 description: "CPU shares (relative weight)." 4353 type: "integer" 4354 - name: "cpusetcpus" 4355 in: "query" 4356 description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)." 4357 type: "string" 4358 - name: "cpuperiod" 4359 in: "query" 4360 description: "The length of a CPU period in microseconds." 4361 type: "integer" 4362 - name: "cpuquota" 4363 in: "query" 4364 description: "Microseconds of CPU time that the container can get in a CPU period." 4365 type: "integer" 4366 - name: "buildargs" 4367 in: "query" 4368 description: "JSON map of string pairs for build-time variables. Users pass these values at build-time. Docker uses the buildargs as the environment context for commands run via the `Dockerfile` RUN instruction, or for variable expansion in other `Dockerfile` instructions. This is not meant for passing secret values. [Read more about the buildargs instruction.](https://docs.docker.com/engine/reference/builder/#arg)" 4369 type: "integer" 4370 - name: "shmsize" 4371 in: "query" 4372 description: "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB." 4373 type: "integer" 4374 - name: "squash" 4375 in: "query" 4376 description: "Squash the resulting images layers into a single layer. *(Experimental release only.)*" 4377 type: "boolean" 4378 - name: "labels" 4379 in: "query" 4380 description: "Arbitrary key/value labels to set on the image, as a JSON map of string pairs." 4381 type: "string" 4382 - name: "networkmode" 4383 in: "query" 4384 description: "Sets the networking mode for the run commands during 4385 build. Supported standard values are: `bridge`, `host`, `none`, and 4386 `container:<name|id>`. Any other value is taken as a custom network's 4387 name to which this container should connect to." 4388 type: "string" 4389 - name: "Content-type" 4390 in: "header" 4391 type: "string" 4392 enum: 4393 - "application/tar" 4394 default: "application/tar" 4395 - name: "X-Registry-Config" 4396 in: "header" 4397 description: | 4398 This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to. 4399 4400 The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example: 4401 4402 ``` 4403 { 4404 "docker.example.com": { 4405 "username": "janedoe", 4406 "password": "hunter2" 4407 }, 4408 "https://index.docker.io/v1/": { 4409 "username": "mobydock", 4410 "password": "conta1n3rize14" 4411 } 4412 } 4413 ``` 4414 4415 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. 4416 type: "string" 4417 responses: 4418 200: 4419 description: "no error" 4420 500: 4421 description: "server error" 4422 schema: 4423 $ref: "#/definitions/ErrorResponse" 4424 tags: ["Image"] 4425 /images/create: 4426 post: 4427 summary: "Create an image" 4428 description: "Create an image by either pulling it from a registry or importing it." 4429 operationId: "ImageCreate" 4430 consumes: 4431 - "text/plain" 4432 - "application/octet-stream" 4433 produces: 4434 - "application/json" 4435 responses: 4436 200: 4437 description: "no error" 4438 404: 4439 description: "repository does not exist or no read access" 4440 schema: 4441 $ref: "#/definitions/ErrorResponse" 4442 500: 4443 description: "server error" 4444 schema: 4445 $ref: "#/definitions/ErrorResponse" 4446 parameters: 4447 - name: "fromImage" 4448 in: "query" 4449 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." 4450 type: "string" 4451 - name: "fromSrc" 4452 in: "query" 4453 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." 4454 type: "string" 4455 - name: "repo" 4456 in: "query" 4457 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." 4458 type: "string" 4459 - name: "tag" 4460 in: "query" 4461 description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled." 4462 type: "string" 4463 - name: "inputImage" 4464 in: "body" 4465 description: "Image content if the value `-` has been specified in fromSrc query parameter" 4466 schema: 4467 type: "string" 4468 required: false 4469 - name: "X-Registry-Auth" 4470 in: "header" 4471 description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)" 4472 type: "string" 4473 tags: ["Image"] 4474 /images/{name}/json: 4475 get: 4476 summary: "Inspect an image" 4477 description: "Return low-level information about an image." 4478 operationId: "ImageInspect" 4479 produces: 4480 - "application/json" 4481 responses: 4482 200: 4483 description: "No error" 4484 schema: 4485 $ref: "#/definitions/Image" 4486 examples: 4487 application/json: 4488 Id: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" 4489 Container: "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a" 4490 Comment: "" 4491 Os: "linux" 4492 Architecture: "amd64" 4493 Parent: "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 4494 ContainerConfig: 4495 Tty: false 4496 Hostname: "e611e15f9c9d" 4497 Domainname: "" 4498 AttachStdout: false 4499 PublishService: "" 4500 AttachStdin: false 4501 OpenStdin: false 4502 StdinOnce: false 4503 NetworkDisabled: false 4504 OnBuild: [] 4505 Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 4506 User: "" 4507 WorkingDir: "" 4508 MacAddress: "" 4509 AttachStderr: false 4510 Labels: 4511 com.example.license: "GPL" 4512 com.example.version: "1.0" 4513 com.example.vendor: "Acme" 4514 Env: 4515 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 4516 Cmd: 4517 - "/bin/sh" 4518 - "-c" 4519 - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0" 4520 DockerVersion: "1.9.0-dev" 4521 VirtualSize: 188359297 4522 Size: 0 4523 Author: "" 4524 Created: "2015-09-10T08:30:53.26995814Z" 4525 GraphDriver: 4526 Name: "aufs" 4527 RepoDigests: 4528 - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf" 4529 RepoTags: 4530 - "example:1.0" 4531 - "example:latest" 4532 - "example:stable" 4533 Config: 4534 Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 4535 NetworkDisabled: false 4536 OnBuild: [] 4537 StdinOnce: false 4538 PublishService: "" 4539 AttachStdin: false 4540 OpenStdin: false 4541 Domainname: "" 4542 AttachStdout: false 4543 Tty: false 4544 Hostname: "e611e15f9c9d" 4545 Cmd: 4546 - "/bin/bash" 4547 Env: 4548 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 4549 Labels: 4550 com.example.vendor: "Acme" 4551 com.example.version: "1.0" 4552 com.example.license: "GPL" 4553 MacAddress: "" 4554 AttachStderr: false 4555 WorkingDir: "" 4556 User: "" 4557 RootFS: 4558 Type: "layers" 4559 Layers: 4560 - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6" 4561 - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" 4562 404: 4563 description: "No such image" 4564 schema: 4565 $ref: "#/definitions/ErrorResponse" 4566 examples: 4567 application/json: 4568 message: "No such image: someimage (tag: latest)" 4569 500: 4570 description: "Server error" 4571 schema: 4572 $ref: "#/definitions/ErrorResponse" 4573 parameters: 4574 - name: "name" 4575 in: "path" 4576 description: "Image name or id" 4577 type: "string" 4578 required: true 4579 tags: ["Image"] 4580 /images/{name}/history: 4581 get: 4582 summary: "Get the history of an image" 4583 description: "Return parent layers of an image." 4584 operationId: "ImageHistory" 4585 produces: 4586 - "application/json" 4587 responses: 4588 200: 4589 description: "No error" 4590 schema: 4591 type: "array" 4592 items: 4593 type: "object" 4594 properties: 4595 Id: 4596 type: "string" 4597 Created: 4598 type: "integer" 4599 format: "int64" 4600 CreatedBy: 4601 type: "string" 4602 Tags: 4603 type: "array" 4604 items: 4605 type: "string" 4606 Size: 4607 type: "integer" 4608 format: "int64" 4609 Comment: 4610 type: "string" 4611 examples: 4612 application/json: 4613 - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710" 4614 Created: 1398108230 4615 CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /" 4616 Tags: 4617 - "ubuntu:lucid" 4618 - "ubuntu:10.04" 4619 Size: 182964289 4620 Comment: "" 4621 - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8" 4622 Created: 1398108222 4623 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/" 4624 Tags: [] 4625 Size: 0 4626 Comment: "" 4627 - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158" 4628 Created: 1371157430 4629 CreatedBy: "" 4630 Tags: 4631 - "scratch12:latest" 4632 - "scratch:latest" 4633 Size: 0 4634 Comment: "Imported from -" 4635 404: 4636 description: "No such image" 4637 schema: 4638 $ref: "#/definitions/ErrorResponse" 4639 500: 4640 description: "Server error" 4641 schema: 4642 $ref: "#/definitions/ErrorResponse" 4643 parameters: 4644 - name: "name" 4645 in: "path" 4646 description: "Image name or ID" 4647 type: "string" 4648 required: true 4649 tags: ["Image"] 4650 /images/{name}/push: 4651 post: 4652 summary: "Push an image" 4653 description: | 4654 Push an image to a registry. 4655 4656 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`. 4657 4658 The push is cancelled if the HTTP connection is closed. 4659 operationId: "ImagePush" 4660 consumes: 4661 - "application/octet-stream" 4662 responses: 4663 200: 4664 description: "No error" 4665 404: 4666 description: "No such image" 4667 schema: 4668 $ref: "#/definitions/ErrorResponse" 4669 500: 4670 description: "Server error" 4671 schema: 4672 $ref: "#/definitions/ErrorResponse" 4673 parameters: 4674 - name: "name" 4675 in: "path" 4676 description: "Image name or ID." 4677 type: "string" 4678 required: true 4679 - name: "tag" 4680 in: "query" 4681 description: "The tag to associate with the image on the registry." 4682 type: "string" 4683 - name: "X-Registry-Auth" 4684 in: "header" 4685 description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)" 4686 type: "string" 4687 required: true 4688 tags: ["Image"] 4689 /images/{name}/tag: 4690 post: 4691 summary: "Tag an image" 4692 description: "Tag an image so that it becomes part of a repository." 4693 operationId: "ImageTag" 4694 responses: 4695 201: 4696 description: "No error" 4697 400: 4698 description: "Bad parameter" 4699 schema: 4700 $ref: "#/definitions/ErrorResponse" 4701 404: 4702 description: "No such image" 4703 schema: 4704 $ref: "#/definitions/ErrorResponse" 4705 409: 4706 description: "Conflict" 4707 schema: 4708 $ref: "#/definitions/ErrorResponse" 4709 500: 4710 description: "Server error" 4711 schema: 4712 $ref: "#/definitions/ErrorResponse" 4713 parameters: 4714 - name: "name" 4715 in: "path" 4716 description: "Image name or ID to tag." 4717 type: "string" 4718 required: true 4719 - name: "repo" 4720 in: "query" 4721 description: "The repository to tag in. For example, `someuser/someimage`." 4722 type: "string" 4723 - name: "tag" 4724 in: "query" 4725 description: "The name of the new tag." 4726 type: "string" 4727 tags: ["Image"] 4728 /images/{name}: 4729 delete: 4730 summary: "Remove an image" 4731 description: | 4732 Remove an image, along with any untagged parent images that were referenced by that image. 4733 4734 Images can't be removed if they have descendant images, are being used by a running container or are being used by a build. 4735 operationId: "ImageDelete" 4736 produces: 4737 - "application/json" 4738 responses: 4739 200: 4740 description: "No error" 4741 schema: 4742 type: "array" 4743 items: 4744 $ref: "#/definitions/ImageDeleteResponse" 4745 examples: 4746 application/json: 4747 - Untagged: "3e2f21a89f" 4748 - Deleted: "3e2f21a89f" 4749 - Deleted: "53b4f83ac9" 4750 404: 4751 description: "No such image" 4752 schema: 4753 $ref: "#/definitions/ErrorResponse" 4754 409: 4755 description: "Conflict" 4756 schema: 4757 $ref: "#/definitions/ErrorResponse" 4758 500: 4759 description: "Server error" 4760 schema: 4761 $ref: "#/definitions/ErrorResponse" 4762 parameters: 4763 - name: "name" 4764 in: "path" 4765 description: "Image name or ID" 4766 type: "string" 4767 required: true 4768 - name: "force" 4769 in: "query" 4770 description: "Remove the image even if it is being used by stopped containers or has other tags" 4771 type: "boolean" 4772 default: false 4773 - name: "noprune" 4774 in: "query" 4775 description: "Do not delete untagged parent images" 4776 type: "boolean" 4777 default: false 4778 tags: ["Image"] 4779 /images/search: 4780 get: 4781 summary: "Search images" 4782 description: "Search for an image on Docker Hub." 4783 operationId: "ImageSearch" 4784 produces: 4785 - "application/json" 4786 responses: 4787 200: 4788 description: "No error" 4789 schema: 4790 type: "array" 4791 items: 4792 type: "object" 4793 properties: 4794 description: 4795 type: "string" 4796 is_official: 4797 type: "boolean" 4798 is_automated: 4799 type: "boolean" 4800 name: 4801 type: "string" 4802 star_count: 4803 type: "integer" 4804 examples: 4805 application/json: 4806 - description: "" 4807 is_official: false 4808 is_automated: false 4809 name: "wma55/u1210sshd" 4810 star_count: 0 4811 - description: "" 4812 is_official: false 4813 is_automated: false 4814 name: "jdswinbank/sshd" 4815 star_count: 0 4816 - description: "" 4817 is_official: false 4818 is_automated: false 4819 name: "vgauthier/sshd" 4820 star_count: 0 4821 500: 4822 description: "Server error" 4823 schema: 4824 $ref: "#/definitions/ErrorResponse" 4825 parameters: 4826 - name: "term" 4827 in: "query" 4828 description: "Term to search" 4829 type: "string" 4830 required: true 4831 - name: "limit" 4832 in: "query" 4833 description: "Maximum number of results to return" 4834 type: "integer" 4835 - name: "filters" 4836 in: "query" 4837 description: | 4838 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: 4839 4840 - `stars=<number>` 4841 - `is-automated=(true|false)` 4842 - `is-official=(true|false)` 4843 type: "string" 4844 tags: ["Image"] 4845 /images/prune: 4846 post: 4847 summary: "Delete unused images" 4848 produces: 4849 - "application/json" 4850 operationId: "ImagePrune" 4851 parameters: 4852 - name: "filters" 4853 in: "query" 4854 description: | 4855 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 4856 4857 Available filters: 4858 - `dangling=<boolean>` When set to `true` (or `1`), prune only 4859 unused *and* untagged images. When set to `false` 4860 (or `0`), all unused images are pruned. 4861 type: "string" 4862 responses: 4863 200: 4864 description: "No error" 4865 schema: 4866 type: "object" 4867 properties: 4868 ImagesDeleted: 4869 description: "Images that were deleted" 4870 type: "array" 4871 items: 4872 $ref: "#/definitions/ImageDeleteResponse" 4873 SpaceReclaimed: 4874 description: "Disk space reclaimed in bytes" 4875 type: "integer" 4876 format: "int64" 4877 500: 4878 description: "Server error" 4879 schema: 4880 $ref: "#/definitions/ErrorResponse" 4881 tags: ["Image"] 4882 /auth: 4883 post: 4884 summary: "Check auth configuration" 4885 description: "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password." 4886 operationId: "SystemAuth" 4887 consumes: ["application/json"] 4888 produces: ["application/json"] 4889 responses: 4890 200: 4891 description: "An identity token was generated successfully." 4892 schema: 4893 type: "object" 4894 required: [Status] 4895 properties: 4896 Status: 4897 description: "The status of the authentication" 4898 type: "string" 4899 x-nullable: false 4900 IdentityToken: 4901 description: "An opaque token used to authenticate a user after a successful login" 4902 type: "string" 4903 x-nullable: false 4904 examples: 4905 application/json: 4906 Status: "Login Succeeded" 4907 IdentityToken: "9cbaf023786cd7..." 4908 204: 4909 description: "No error" 4910 500: 4911 description: "Server error" 4912 schema: 4913 $ref: "#/definitions/ErrorResponse" 4914 parameters: 4915 - name: "authConfig" 4916 in: "body" 4917 description: "Authentication to check" 4918 schema: 4919 $ref: "#/definitions/AuthConfig" 4920 tags: ["System"] 4921 /info: 4922 get: 4923 summary: "Get system information" 4924 operationId: "SystemInfo" 4925 produces: 4926 - "application/json" 4927 responses: 4928 200: 4929 description: "No error" 4930 schema: 4931 type: "object" 4932 properties: 4933 Architecture: 4934 type: "string" 4935 Containers: 4936 type: "integer" 4937 ContainersRunning: 4938 type: "integer" 4939 ContainersStopped: 4940 type: "integer" 4941 ContainersPaused: 4942 type: "integer" 4943 CpuCfsPeriod: 4944 type: "boolean" 4945 CpuCfsQuota: 4946 type: "boolean" 4947 Debug: 4948 type: "boolean" 4949 DiscoveryBackend: 4950 type: "string" 4951 DockerRootDir: 4952 type: "string" 4953 Driver: 4954 type: "string" 4955 DriverStatus: 4956 type: "array" 4957 items: 4958 type: "array" 4959 items: 4960 type: "string" 4961 SystemStatus: 4962 type: "array" 4963 items: 4964 type: "array" 4965 items: 4966 type: "string" 4967 Plugins: 4968 type: "object" 4969 properties: 4970 Volume: 4971 type: "array" 4972 items: 4973 type: "string" 4974 Network: 4975 type: "array" 4976 items: 4977 type: "string" 4978 ExperimentalBuild: 4979 type: "boolean" 4980 HttpProxy: 4981 type: "string" 4982 HttpsProxy: 4983 type: "string" 4984 ID: 4985 type: "string" 4986 IPv4Forwarding: 4987 type: "boolean" 4988 Images: 4989 type: "integer" 4990 IndexServerAddress: 4991 type: "string" 4992 InitPath: 4993 type: "string" 4994 InitSha1: 4995 type: "string" 4996 KernelVersion: 4997 type: "string" 4998 Labels: 4999 type: "array" 5000 items: 5001 type: "string" 5002 MemTotal: 5003 type: "integer" 5004 MemoryLimit: 5005 type: "boolean" 5006 NCPU: 5007 type: "integer" 5008 NEventsListener: 5009 type: "integer" 5010 NFd: 5011 type: "integer" 5012 NGoroutines: 5013 type: "integer" 5014 Name: 5015 type: "string" 5016 NoProxy: 5017 type: "string" 5018 OomKillDisable: 5019 type: "boolean" 5020 OSType: 5021 type: "string" 5022 OomScoreAdj: 5023 type: "integer" 5024 OperatingSystem: 5025 type: "string" 5026 RegistryConfig: 5027 type: "object" 5028 properties: 5029 IndexConfigs: 5030 type: "object" 5031 additionalProperties: 5032 type: "object" 5033 properties: 5034 Mirrors: 5035 type: "array" 5036 items: 5037 type: "string" 5038 Name: 5039 type: "string" 5040 Official: 5041 type: "boolean" 5042 Secure: 5043 type: "boolean" 5044 InsecureRegistryCIDRs: 5045 type: "array" 5046 items: 5047 type: "string" 5048 SwapLimit: 5049 type: "boolean" 5050 SystemTime: 5051 type: "string" 5052 ServerVersion: 5053 type: "string" 5054 examples: 5055 application/json: 5056 Architecture: "x86_64" 5057 ClusterStore: "etcd://localhost:2379" 5058 CgroupDriver: "cgroupfs" 5059 Containers: 11 5060 ContainersRunning: 7 5061 ContainersStopped: 3 5062 ContainersPaused: 1 5063 CpuCfsPeriod: true 5064 CpuCfsQuota: true 5065 Debug: false 5066 DockerRootDir: "/var/lib/docker" 5067 Driver: "btrfs" 5068 DriverStatus: 5069 - 5070 - "" 5071 ExperimentalBuild: false 5072 HttpProxy: "http://test:test@localhost:8080" 5073 HttpsProxy: "https://test:test@localhost:8080" 5074 ID: "7TRN:IPZB:QYBB:VPBQ:UMPP:KARE:6ZNR:XE6T:7EWV:PKF4:ZOJD:TPYS" 5075 IPv4Forwarding: true 5076 Images: 16 5077 IndexServerAddress: "https://index.docker.io/v1/" 5078 InitPath: "/usr/bin/docker" 5079 InitSha1: "" 5080 KernelMemory: true 5081 KernelVersion: "3.12.0-1-amd64" 5082 Labels: 5083 - "storage=ssd" 5084 MemTotal: 2099236864 5085 MemoryLimit: true 5086 NCPU: 1 5087 NEventsListener: 0 5088 NFd: 11 5089 NGoroutines: 21 5090 Name: "prod-server-42" 5091 NoProxy: "9.81.1.160" 5092 OomKillDisable: true 5093 OSType: "linux" 5094 OperatingSystem: "Boot2Docker" 5095 Plugins: 5096 Volume: 5097 - "local" 5098 Network: 5099 - "null" 5100 - "host" 5101 - "bridge" 5102 RegistryConfig: 5103 IndexConfigs: 5104 docker.io: 5105 Name: "docker.io" 5106 Official: true 5107 Secure: true 5108 InsecureRegistryCIDRs: 5109 - "127.0.0.0/8" 5110 SecurityOptions: 5111 - Key: "Name" 5112 Value: "seccomp" 5113 - Key: "Profile" 5114 Value: "default" 5115 - Key: "Name" 5116 Value: "apparmor" 5117 - Key: "Name" 5118 Value: "selinux" 5119 - Key: "Name" 5120 Value: "userns" 5121 ServerVersion: "1.9.0" 5122 SwapLimit: false 5123 SystemStatus: 5124 - 5125 - "State" 5126 - "Healthy" 5127 SystemTime: "2015-03-10T11:11:23.730591467-07:00" 5128 500: 5129 description: "Server error" 5130 schema: 5131 $ref: "#/definitions/ErrorResponse" 5132 tags: ["System"] 5133 /version: 5134 get: 5135 summary: "Get version" 5136 description: "Returns the version of Docker that is running and various information about the system that Docker is running on." 5137 operationId: "SystemVersion" 5138 produces: 5139 - "application/json" 5140 responses: 5141 200: 5142 description: "no error" 5143 schema: 5144 type: "object" 5145 properties: 5146 Version: 5147 type: "string" 5148 ApiVersion: 5149 type: "string" 5150 MinAPIVersion: 5151 type: "string" 5152 GitCommit: 5153 type: "string" 5154 GoVersion: 5155 type: "string" 5156 Os: 5157 type: "string" 5158 Arch: 5159 type: "string" 5160 KernelVersion: 5161 type: "string" 5162 Experimental: 5163 type: "boolean" 5164 BuildTime: 5165 type: "string" 5166 examples: 5167 application/json: 5168 Version: "1.13.0" 5169 Os: "linux" 5170 KernelVersion: "3.19.0-23-generic" 5171 GoVersion: "go1.6.3" 5172 GitCommit: "deadbee" 5173 Arch: "amd64" 5174 ApiVersion: "1.25" 5175 MinAPIVersion: "1.12" 5176 BuildTime: "2016-06-14T07:09:13.444803460+00:00" 5177 Experimental: true 5178 500: 5179 description: "server error" 5180 schema: 5181 $ref: "#/definitions/ErrorResponse" 5182 tags: ["System"] 5183 /_ping: 5184 get: 5185 summary: "Ping" 5186 description: "This is a dummy endpoint you can use to test if the server is accessible." 5187 operationId: "SystemPing" 5188 produces: 5189 - "text/plain" 5190 responses: 5191 200: 5192 description: "no error" 5193 schema: 5194 type: "string" 5195 example: "OK" 5196 500: 5197 description: "server error" 5198 schema: 5199 $ref: "#/definitions/ErrorResponse" 5200 tags: ["System"] 5201 /commit: 5202 post: 5203 summary: "Create a new image from a container" 5204 operationId: "ImageCommit" 5205 consumes: 5206 - "application/json" 5207 produces: 5208 - "application/json" 5209 responses: 5210 201: 5211 description: "no error" 5212 schema: 5213 $ref: "#/definitions/IdResponse" 5214 404: 5215 description: "no such container" 5216 schema: 5217 $ref: "#/definitions/ErrorResponse" 5218 examples: 5219 application/json: 5220 message: "No such container: c2ada9df5af8" 5221 500: 5222 description: "server error" 5223 schema: 5224 $ref: "#/definitions/ErrorResponse" 5225 parameters: 5226 - name: "containerConfig" 5227 in: "body" 5228 description: "The container configuration" 5229 schema: 5230 $ref: "#/definitions/Config" 5231 - name: "container" 5232 in: "query" 5233 description: "The ID or name of the container to commit" 5234 type: "string" 5235 - name: "repo" 5236 in: "query" 5237 description: "Repository name for the created image" 5238 type: "string" 5239 - name: "tag" 5240 in: "query" 5241 description: "Tag name for the create image" 5242 type: "string" 5243 - name: "comment" 5244 in: "query" 5245 description: "Commit message" 5246 type: "string" 5247 - name: "author" 5248 in: "query" 5249 description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)" 5250 type: "string" 5251 - name: "pause" 5252 in: "query" 5253 description: "Whether to pause the container before committing" 5254 type: "boolean" 5255 default: true 5256 - name: "changes" 5257 in: "query" 5258 description: "`Dockerfile` instructions to apply while committing" 5259 type: "string" 5260 tags: ["Image"] 5261 /events: 5262 get: 5263 summary: "Monitor events" 5264 description: | 5265 Stream real-time events from the server. 5266 5267 Various objects within Docker report events when something happens to them. 5268 5269 Containers report these events: `attach, commit, copy, create, destroy, detach, die, exec_create, exec_detach, exec_start, export, kill, oom, pause, rename, resize, restart, start, stop, top, unpause, update` 5270 5271 Images report these events: `delete, import, load, pull, push, save, tag, untag` 5272 5273 Volumes report these events: `create, mount, unmount, destroy` 5274 5275 Networks report these events: `create, connect, disconnect, destroy` 5276 5277 The Docker daemon reports these events: `reload` 5278 5279 operationId: "SystemEvents" 5280 produces: 5281 - "application/json" 5282 responses: 5283 200: 5284 description: "no error" 5285 schema: 5286 type: "object" 5287 properties: 5288 Type: 5289 description: "The type of object emitting the event" 5290 type: "string" 5291 Action: 5292 description: "The type of event" 5293 type: "string" 5294 Actor: 5295 type: "object" 5296 properties: 5297 ID: 5298 description: "The ID of the object emitting the event" 5299 type: "string" 5300 Attributes: 5301 description: "Various key/value attributes of the object, depending on its type" 5302 type: "object" 5303 additionalProperties: 5304 type: "string" 5305 time: 5306 description: "Timestamp of event" 5307 type: "integer" 5308 timeNano: 5309 description: "Timestamp of event, with nanosecond accuracy" 5310 type: "integer" 5311 format: "int64" 5312 examples: 5313 application/json: 5314 Type: "container" 5315 Action: "create" 5316 Actor: 5317 ID: "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" 5318 Attributes: 5319 com.example.some-label: "some-label-value" 5320 image: "alpine" 5321 name: "my-container" 5322 time: 1461943101 5323 500: 5324 description: "server error" 5325 schema: 5326 $ref: "#/definitions/ErrorResponse" 5327 parameters: 5328 - name: "since" 5329 in: "query" 5330 description: "Show events created since this timestamp then stream new events." 5331 type: "string" 5332 - name: "until" 5333 in: "query" 5334 description: "Show events created until this timestamp then stop streaming." 5335 type: "string" 5336 - name: "filters" 5337 in: "query" 5338 description: | 5339 A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters: 5340 5341 - `container=<string>` container name or ID 5342 - `event=<string>` event type 5343 - `image=<string>` image name or ID 5344 - `label=<string>` image or container label 5345 - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, or `daemon` 5346 - `volume=<string>` volume name or ID 5347 - `network=<string>` network name or ID 5348 - `daemon=<string>` daemon name or ID 5349 type: "string" 5350 tags: ["System"] 5351 /system/df: 5352 get: 5353 summary: "Get data usage information" 5354 operationId: "SystemDataUsage" 5355 responses: 5356 200: 5357 description: "no error" 5358 schema: 5359 type: "object" 5360 properties: 5361 LayersSize: 5362 type: "integer" 5363 format: "int64" 5364 Images: 5365 type: "array" 5366 items: 5367 $ref: "#/definitions/ImageSummary" 5368 Containers: 5369 type: "array" 5370 items: 5371 $ref: "#/definitions/ContainerSummary" 5372 Volumes: 5373 type: "array" 5374 items: 5375 $ref: "#/definitions/Volume" 5376 example: 5377 LayersSize: 1092588 5378 Images: 5379 - 5380 Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 5381 ParentId: "" 5382 RepoTags: 5383 - "busybox:latest" 5384 RepoDigests: 5385 - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" 5386 Created: 1466724217 5387 Size: 1092588 5388 SharedSize: 0 5389 VirtualSize: 1092588 5390 Labels: {} 5391 Containers: 1 5392 Containers: 5393 - 5394 Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148" 5395 Names: 5396 - "/top" 5397 Image: "busybox" 5398 ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 5399 Command: "top" 5400 Created: 1472592424 5401 Ports: [] 5402 SizeRootFs: 1092588 5403 Labels: {} 5404 State: "exited" 5405 Status: "Exited (0) 56 minutes ago" 5406 HostConfig: 5407 NetworkMode: "default" 5408 NetworkSettings: 5409 Networks: 5410 bridge: 5411 IPAMConfig: null 5412 Links: null 5413 Aliases: null 5414 NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92" 5415 EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a" 5416 Gateway: "172.18.0.1" 5417 IPAddress: "172.18.0.2" 5418 IPPrefixLen: 16 5419 IPv6Gateway: "" 5420 GlobalIPv6Address: "" 5421 GlobalIPv6PrefixLen: 0 5422 MacAddress: "02:42:ac:12:00:02" 5423 Mounts: [] 5424 Volumes: 5425 - 5426 Name: "my-volume" 5427 Driver: "local" 5428 Mountpoint: "" 5429 Labels: null 5430 Scope: "" 5431 Options: null 5432 UsageData: 5433 Size: 0 5434 RefCount: 0 5435 500: 5436 description: "server error" 5437 schema: 5438 $ref: "#/definitions/ErrorResponse" 5439 tags: ["System"] 5440 /images/{name}/get: 5441 get: 5442 summary: "Export an image" 5443 description: | 5444 Get a tarball containing all images and metadata for a repository. 5445 5446 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. 5447 5448 ### Image tarball format 5449 5450 An image tarball contains one directory per image layer (named using its long ID), each containing these files: 5451 5452 - `VERSION`: currently `1.0` - the file format version 5453 - `json`: detailed layer information, similar to `docker inspect layer_id` 5454 - `layer.tar`: A tarfile containing the filesystem changes in this layer 5455 5456 The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions. 5457 5458 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. 5459 5460 ```json 5461 { 5462 "hello-world": { 5463 "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1" 5464 } 5465 } 5466 ``` 5467 operationId: "ImageGet" 5468 produces: 5469 - "application/x-tar" 5470 responses: 5471 200: 5472 description: "no error" 5473 schema: 5474 type: "string" 5475 format: "binary" 5476 500: 5477 description: "server error" 5478 schema: 5479 $ref: "#/definitions/ErrorResponse" 5480 parameters: 5481 - name: "name" 5482 in: "path" 5483 description: "Image name or ID" 5484 type: "string" 5485 required: true 5486 tags: ["Image"] 5487 /images/get: 5488 get: 5489 summary: "Export several images" 5490 description: | 5491 Get a tarball containing all images and metadata for several image repositories. 5492 5493 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. 5494 5495 For details on the format, see [the export image endpoint](#operation/ImageGet). 5496 operationId: "ImageGetAll" 5497 produces: 5498 - "application/x-tar" 5499 responses: 5500 200: 5501 description: "no error" 5502 schema: 5503 type: "string" 5504 format: "binary" 5505 500: 5506 description: "server error" 5507 schema: 5508 $ref: "#/definitions/ErrorResponse" 5509 parameters: 5510 - name: "names" 5511 in: "query" 5512 description: "Image names to filter by" 5513 type: "array" 5514 items: 5515 type: "string" 5516 tags: ["Image"] 5517 /images/load: 5518 post: 5519 summary: "Import images" 5520 description: | 5521 Load a set of images and tags into a repository. 5522 5523 For details on the format, see [the export image endpoint](#operation/ImageGet). 5524 operationId: "ImageLoad" 5525 consumes: 5526 - "application/x-tar" 5527 produces: 5528 - "application/json" 5529 responses: 5530 200: 5531 description: "no error" 5532 500: 5533 description: "server error" 5534 schema: 5535 $ref: "#/definitions/ErrorResponse" 5536 parameters: 5537 - name: "imagesTarball" 5538 in: "body" 5539 description: "Tar archive containing images" 5540 schema: 5541 type: "string" 5542 format: "binary" 5543 - name: "quiet" 5544 in: "query" 5545 description: "Suppress progress details during load." 5546 type: "boolean" 5547 default: false 5548 tags: ["Image"] 5549 /containers/{id}/exec: 5550 post: 5551 summary: "Create an exec instance" 5552 description: "Run a command inside a running container." 5553 operationId: "ContainerExec" 5554 consumes: 5555 - "application/json" 5556 produces: 5557 - "application/json" 5558 responses: 5559 201: 5560 description: "no error" 5561 schema: 5562 $ref: "#/definitions/IdResponse" 5563 404: 5564 description: "no such container" 5565 schema: 5566 $ref: "#/definitions/ErrorResponse" 5567 examples: 5568 application/json: 5569 message: "No such container: c2ada9df5af8" 5570 409: 5571 description: "container is paused" 5572 schema: 5573 $ref: "#/definitions/ErrorResponse" 5574 500: 5575 description: "Server error" 5576 schema: 5577 $ref: "#/definitions/ErrorResponse" 5578 parameters: 5579 - name: "execConfig" 5580 in: "body" 5581 description: "Exec configuration" 5582 schema: 5583 type: "object" 5584 properties: 5585 AttachStdin: 5586 type: "boolean" 5587 description: "Attach to `stdin` of the exec command." 5588 AttachStdout: 5589 type: "boolean" 5590 description: "Attach to `stdout` of the exec command." 5591 AttachStderr: 5592 type: "boolean" 5593 description: "Attach to `stderr` of the exec command." 5594 DetachKeys: 5595 type: "string" 5596 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 `_`." 5597 Tty: 5598 type: "boolean" 5599 description: "Allocate a pseudo-TTY." 5600 Env: 5601 description: "A list of environment variables in the form `[\"VAR=value\", ...]`." 5602 type: "array" 5603 items: 5604 type: "string" 5605 Cmd: 5606 type: "array" 5607 description: "Command to run, as a string or array of strings." 5608 items: 5609 type: "string" 5610 Privileged: 5611 type: "boolean" 5612 description: "Runs the exec process with extended privileges." 5613 default: false 5614 User: 5615 type: "string" 5616 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`." 5617 example: 5618 AttachStdin: false 5619 AttachStdout: true 5620 AttachStderr: true 5621 DetachKeys: "ctrl-p,ctrl-q" 5622 Tty: false 5623 Cmd: 5624 - "date" 5625 Env: 5626 - "FOO=bar" 5627 - "BAZ=quux" 5628 required: true 5629 - name: "id" 5630 in: "path" 5631 description: "ID or name of container" 5632 type: "string" 5633 required: true 5634 tags: ["Exec"] 5635 /exec/{id}/start: 5636 post: 5637 summary: "Start an exec instance" 5638 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." 5639 operationId: "ExecStart" 5640 consumes: 5641 - "application/json" 5642 produces: 5643 - "application/vnd.docker.raw-stream" 5644 responses: 5645 200: 5646 description: "No error" 5647 404: 5648 description: "No such exec instance" 5649 schema: 5650 $ref: "#/definitions/ErrorResponse" 5651 409: 5652 description: "Container is stopped or paused" 5653 schema: 5654 $ref: "#/definitions/ErrorResponse" 5655 parameters: 5656 - name: "execStartConfig" 5657 in: "body" 5658 schema: 5659 type: "object" 5660 properties: 5661 Detach: 5662 type: "boolean" 5663 description: "Detach from the command." 5664 Tty: 5665 type: "boolean" 5666 description: "Allocate a pseudo-TTY." 5667 example: 5668 Detach: false 5669 Tty: false 5670 - name: "id" 5671 in: "path" 5672 description: "Exec instance ID" 5673 required: true 5674 type: "string" 5675 tags: ["Exec"] 5676 /exec/{id}/resize: 5677 post: 5678 summary: "Resize an exec instance" 5679 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." 5680 operationId: "ExecResize" 5681 responses: 5682 201: 5683 description: "No error" 5684 404: 5685 description: "No such exec instance" 5686 schema: 5687 $ref: "#/definitions/ErrorResponse" 5688 parameters: 5689 - name: "id" 5690 in: "path" 5691 description: "Exec instance ID" 5692 required: true 5693 type: "string" 5694 - name: "h" 5695 in: "query" 5696 description: "Height of the TTY session in characters" 5697 type: "integer" 5698 - name: "w" 5699 in: "query" 5700 description: "Width of the TTY session in characters" 5701 type: "integer" 5702 tags: ["Exec"] 5703 /exec/{id}/json: 5704 get: 5705 summary: "Inspect an exec instance" 5706 description: "Return low-level information about an exec instance." 5707 operationId: "ExecInspect" 5708 produces: 5709 - "application/json" 5710 responses: 5711 200: 5712 description: "No error" 5713 schema: 5714 type: "object" 5715 properties: 5716 ID: 5717 type: "string" 5718 Running: 5719 type: "boolean" 5720 ExitCode: 5721 type: "integer" 5722 ProcessConfig: 5723 $ref: "#/definitions/ProcessConfig" 5724 OpenStdin: 5725 type: "boolean" 5726 OpenStderr: 5727 type: "boolean" 5728 OpenStdout: 5729 type: "boolean" 5730 ContainerID: 5731 type: "string" 5732 Pid: 5733 type: "integer" 5734 description: "The system process ID for the exec process." 5735 examples: 5736 application/json: 5737 CanRemove: false 5738 ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126" 5739 DetachKeys: "" 5740 ExitCode: 2 5741 ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b" 5742 OpenStderr: true 5743 OpenStdin: true 5744 OpenStdout: true 5745 ProcessConfig: 5746 arguments: 5747 - "-c" 5748 - "exit 2" 5749 entrypoint: "sh" 5750 privileged: false 5751 tty: true 5752 user: "1000" 5753 Running: false 5754 Pid: 42000 5755 404: 5756 description: "No such exec instance" 5757 schema: 5758 $ref: "#/definitions/ErrorResponse" 5759 500: 5760 description: "Server error" 5761 schema: 5762 $ref: "#/definitions/ErrorResponse" 5763 parameters: 5764 - name: "id" 5765 in: "path" 5766 description: "Exec instance ID" 5767 required: true 5768 type: "string" 5769 tags: ["Exec"] 5770 5771 /volumes: 5772 get: 5773 summary: "List volumes" 5774 operationId: "VolumeList" 5775 produces: ["application/json"] 5776 responses: 5777 200: 5778 description: "Summary volume data that matches the query" 5779 schema: 5780 type: "object" 5781 required: [Volumes, Warnings] 5782 properties: 5783 Volumes: 5784 type: "array" 5785 x-nullable: false 5786 description: "List of volumes" 5787 items: 5788 $ref: "#/definitions/Volume" 5789 Warnings: 5790 type: "array" 5791 x-nullable: false 5792 description: "Warnings that occurred when fetching the list of volumes" 5793 items: 5794 type: "string" 5795 5796 examples: 5797 application/json: 5798 Volumes: 5799 - Name: "tardis" 5800 Driver: "local" 5801 Mountpoint: "/var/lib/docker/volumes/tardis" 5802 Labels: 5803 com.example.some-label: "some-value" 5804 com.example.some-other-label: "some-other-value" 5805 Scope: "local" 5806 Options: 5807 device: "tmpfs" 5808 o: "size=100m,uid=1000" 5809 type: "tmpfs" 5810 Warnings: [] 5811 500: 5812 description: "Server error" 5813 schema: 5814 $ref: "#/definitions/ErrorResponse" 5815 parameters: 5816 - name: "filters" 5817 in: "query" 5818 description: | 5819 JSON encoded value of the filters (a `map[string][]string`) to 5820 process on the volumes list. Available filters: 5821 5822 - `name=<volume-name>` Matches all or part of a volume name. 5823 - `dangling=<boolean>` When set to `true` (or `1`), returns all 5824 volumes that are not in use by a container. When set to `false` 5825 (or `0`), only volumes that are in use by one or more 5826 containers are returned. 5827 - `driver=<volume-driver-name>` Matches all or part of a volume 5828 driver name. 5829 type: "string" 5830 format: "json" 5831 tags: ["Volume"] 5832 5833 /volumes/create: 5834 post: 5835 summary: "Create a volume" 5836 operationId: "VolumeCreate" 5837 consumes: ["application/json"] 5838 produces: ["application/json"] 5839 responses: 5840 201: 5841 description: "The volume was created successfully" 5842 schema: 5843 $ref: "#/definitions/Volume" 5844 500: 5845 description: "Server error" 5846 schema: 5847 $ref: "#/definitions/ErrorResponse" 5848 parameters: 5849 - name: "volumeConfig" 5850 in: "body" 5851 required: true 5852 description: "Volume configuration" 5853 schema: 5854 type: "object" 5855 properties: 5856 Name: 5857 description: "The new volume's name. If not specified, Docker generates a name." 5858 type: "string" 5859 x-nullable: false 5860 Driver: 5861 description: "Name of the volume driver to use." 5862 type: "string" 5863 default: "local" 5864 x-nullable: false 5865 DriverOpts: 5866 description: "A mapping of driver options and values. These options are passed directly to the driver and are driver specific." 5867 type: "object" 5868 additionalProperties: 5869 type: "string" 5870 Labels: 5871 description: "User-defined key/value metadata." 5872 type: "object" 5873 additionalProperties: 5874 type: "string" 5875 example: 5876 Name: "tardis" 5877 Labels: 5878 com.example.some-label: "some-value" 5879 com.example.some-other-label: "some-other-value" 5880 Driver: "custom" 5881 tags: ["Volume"] 5882 5883 /volumes/{name}: 5884 get: 5885 summary: "Inspect a volume" 5886 operationId: "VolumeInspect" 5887 produces: ["application/json"] 5888 responses: 5889 200: 5890 description: "No error" 5891 schema: 5892 $ref: "#/definitions/Volume" 5893 404: 5894 description: "No such volume" 5895 schema: 5896 $ref: "#/definitions/ErrorResponse" 5897 500: 5898 description: "Server error" 5899 schema: 5900 $ref: "#/definitions/ErrorResponse" 5901 parameters: 5902 - name: "name" 5903 in: "path" 5904 required: true 5905 description: "Volume name or ID" 5906 type: "string" 5907 tags: ["Volume"] 5908 5909 delete: 5910 summary: "Remove a volume" 5911 description: "Instruct the driver to remove the volume." 5912 operationId: "VolumeDelete" 5913 responses: 5914 204: 5915 description: "The volume was removed" 5916 404: 5917 description: "No such volume or volume driver" 5918 schema: 5919 $ref: "#/definitions/ErrorResponse" 5920 409: 5921 description: "Volume is in use and cannot be removed" 5922 schema: 5923 $ref: "#/definitions/ErrorResponse" 5924 500: 5925 description: "Server error" 5926 schema: 5927 $ref: "#/definitions/ErrorResponse" 5928 parameters: 5929 - name: "name" 5930 in: "path" 5931 required: true 5932 description: "Volume name or ID" 5933 type: "string" 5934 - name: "force" 5935 in: "query" 5936 description: "Force the removal of the volume" 5937 type: "boolean" 5938 default: false 5939 tags: ["Volume"] 5940 /volumes/prune: 5941 post: 5942 summary: "Delete unused volumes" 5943 produces: 5944 - "application/json" 5945 operationId: "VolumePrune" 5946 parameters: 5947 - name: "filters" 5948 in: "query" 5949 description: | 5950 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 5951 5952 Available filters: 5953 type: "string" 5954 responses: 5955 200: 5956 description: "No error" 5957 schema: 5958 type: "object" 5959 properties: 5960 VolumesDeleted: 5961 description: "Volumes that were deleted" 5962 type: "array" 5963 items: 5964 type: "string" 5965 SpaceReclaimed: 5966 description: "Disk space reclaimed in bytes" 5967 type: "integer" 5968 format: "int64" 5969 500: 5970 description: "Server error" 5971 schema: 5972 $ref: "#/definitions/ErrorResponse" 5973 tags: ["Volume"] 5974 /networks: 5975 get: 5976 summary: "List networks" 5977 operationId: "NetworkList" 5978 produces: 5979 - "application/json" 5980 responses: 5981 200: 5982 description: "No error" 5983 schema: 5984 type: "array" 5985 items: 5986 $ref: "#/definitions/Network" 5987 examples: 5988 application/json: 5989 - Name: "bridge" 5990 Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566" 5991 Created: "2016-10-19T06:21:00.416543526Z" 5992 Scope: "local" 5993 Driver: "bridge" 5994 EnableIPv6: false 5995 Internal: false 5996 IPAM: 5997 Driver: "default" 5998 Config: 5999 - 6000 Subnet: "172.17.0.0/16" 6001 Containers: 6002 39b69226f9d79f5634485fb236a23b2fe4e96a0a94128390a7fbbcc167065867: 6003 EndpointID: "ed2419a97c1d9954d05b46e462e7002ea552f216e9b136b80a7db8d98b442eda" 6004 MacAddress: "02:42:ac:11:00:02" 6005 IPv4Address: "172.17.0.2/16" 6006 IPv6Address: "" 6007 Options: 6008 com.docker.network.bridge.default_bridge: "true" 6009 com.docker.network.bridge.enable_icc: "true" 6010 com.docker.network.bridge.enable_ip_masquerade: "true" 6011 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 6012 com.docker.network.bridge.name: "docker0" 6013 com.docker.network.driver.mtu: "1500" 6014 - Name: "none" 6015 Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794" 6016 Created: "0001-01-01T00:00:00Z" 6017 Scope: "local" 6018 Driver: "null" 6019 EnableIPv6: false 6020 Internal: false 6021 IPAM: 6022 Driver: "default" 6023 Config: [] 6024 Containers: {} 6025 Options: {} 6026 - Name: "host" 6027 Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e" 6028 Created: "0001-01-01T00:00:00Z" 6029 Scope: "local" 6030 Driver: "host" 6031 EnableIPv6: false 6032 Internal: false 6033 IPAM: 6034 Driver: "default" 6035 Config: [] 6036 Containers: {} 6037 Options: {} 6038 500: 6039 description: "Server error" 6040 schema: 6041 $ref: "#/definitions/ErrorResponse" 6042 parameters: 6043 - name: "filters" 6044 in: "query" 6045 description: | 6046 JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters: 6047 6048 - `driver=<driver-name>` Matches a network's driver. 6049 - `id=<network-id>` Matches all or part of a network ID. 6050 - `label=<key>` or `label=<key>=<value>` of a network label. 6051 - `name=<network-name>` Matches all or part of a network name. 6052 - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. 6053 type: "string" 6054 tags: ["Network"] 6055 6056 /networks/{id}: 6057 get: 6058 summary: "Inspect a network" 6059 operationId: "NetworkInspect" 6060 produces: 6061 - "application/json" 6062 responses: 6063 200: 6064 description: "No error" 6065 schema: 6066 $ref: "#/definitions/Network" 6067 404: 6068 description: "Network not found" 6069 schema: 6070 $ref: "#/definitions/ErrorResponse" 6071 parameters: 6072 - name: "id" 6073 in: "path" 6074 description: "Network ID or name" 6075 required: true 6076 type: "string" 6077 tags: ["Network"] 6078 6079 delete: 6080 summary: "Remove a network" 6081 operationId: "NetworkDelete" 6082 responses: 6083 204: 6084 description: "No error" 6085 404: 6086 description: "no such network" 6087 schema: 6088 $ref: "#/definitions/ErrorResponse" 6089 500: 6090 description: "Server error" 6091 schema: 6092 $ref: "#/definitions/ErrorResponse" 6093 parameters: 6094 - name: "id" 6095 in: "path" 6096 description: "Network ID or name" 6097 required: true 6098 type: "string" 6099 tags: ["Network"] 6100 6101 /networks/create: 6102 post: 6103 summary: "Create a network" 6104 operationId: "NetworkCreate" 6105 consumes: 6106 - "application/json" 6107 produces: 6108 - "application/json" 6109 responses: 6110 201: 6111 description: "No error" 6112 schema: 6113 type: "object" 6114 properties: 6115 Id: 6116 description: "The ID of the created network." 6117 type: "string" 6118 Warning: 6119 type: "string" 6120 example: 6121 Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30" 6122 Warning: "" 6123 403: 6124 description: "operation not supported for pre-defined networks" 6125 schema: 6126 $ref: "#/definitions/ErrorResponse" 6127 404: 6128 description: "plugin not found" 6129 schema: 6130 $ref: "#/definitions/ErrorResponse" 6131 500: 6132 description: "Server error" 6133 schema: 6134 $ref: "#/definitions/ErrorResponse" 6135 parameters: 6136 - name: "networkConfig" 6137 in: "body" 6138 description: "Network configuration" 6139 required: true 6140 schema: 6141 type: "object" 6142 required: ["Name"] 6143 properties: 6144 Name: 6145 description: "The network's name." 6146 type: "string" 6147 CheckDuplicate: 6148 description: "Check for networks with duplicate names." 6149 type: "boolean" 6150 Driver: 6151 description: "Name of the network driver plugin to use." 6152 type: "string" 6153 default: "bridge" 6154 Internal: 6155 description: "Restrict external access to the network." 6156 type: "boolean" 6157 IPAM: 6158 description: "Optional custom IP scheme for the network." 6159 $ref: "#/definitions/IPAM" 6160 EnableIPv6: 6161 description: "Enable IPv6 on the network." 6162 type: "boolean" 6163 Options: 6164 description: "Network specific options to be used by the drivers." 6165 type: "object" 6166 additionalProperties: 6167 type: "string" 6168 Labels: 6169 description: "User-defined key/value metadata." 6170 type: "object" 6171 additionalProperties: 6172 type: "string" 6173 example: 6174 Name: "isolated_nw" 6175 CheckDuplicate: false 6176 Driver: "bridge" 6177 EnableIPv6: true 6178 IPAM: 6179 Driver: "default" 6180 Config: 6181 - Subnet: "172.20.0.0/16" 6182 IPRange: "172.20.10.0/24" 6183 Gateway: "172.20.10.11" 6184 - Subnet: "2001:db8:abcd::/64" 6185 Gateway: "2001:db8:abcd::1011" 6186 Options: 6187 foo: "bar" 6188 Internal: true 6189 Options: 6190 com.docker.network.bridge.default_bridge: "true" 6191 com.docker.network.bridge.enable_icc: "true" 6192 com.docker.network.bridge.enable_ip_masquerade: "true" 6193 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 6194 com.docker.network.bridge.name: "docker0" 6195 com.docker.network.driver.mtu: "1500" 6196 Labels: 6197 com.example.some-label: "some-value" 6198 com.example.some-other-label: "some-other-value" 6199 tags: ["Network"] 6200 6201 /networks/{id}/connect: 6202 post: 6203 summary: "Connect a container to a network" 6204 operationId: "NetworkConnect" 6205 consumes: 6206 - "application/octet-stream" 6207 responses: 6208 200: 6209 description: "No error" 6210 403: 6211 description: "Operation not supported for swarm scoped networks" 6212 schema: 6213 $ref: "#/definitions/ErrorResponse" 6214 404: 6215 description: "Network or container not found" 6216 schema: 6217 $ref: "#/definitions/ErrorResponse" 6218 500: 6219 description: "Server error" 6220 schema: 6221 $ref: "#/definitions/ErrorResponse" 6222 parameters: 6223 - name: "id" 6224 in: "path" 6225 description: "Network ID or name" 6226 required: true 6227 type: "string" 6228 - name: "container" 6229 in: "body" 6230 required: true 6231 schema: 6232 type: "object" 6233 properties: 6234 Container: 6235 type: "string" 6236 description: "The ID or name of the container to connect to the network." 6237 EndpointConfig: 6238 $ref: "#/definitions/EndpointSettings" 6239 example: 6240 Container: "3613f73ba0e4" 6241 EndpointConfig: 6242 IPAMConfig: 6243 IPv4Address: "172.24.56.89" 6244 IPv6Address: "2001:db8::5689" 6245 tags: ["Network"] 6246 6247 /networks/{id}/disconnect: 6248 post: 6249 summary: "Disconnect a container from a network" 6250 operationId: "NetworkDisconnect" 6251 consumes: 6252 - "application/json" 6253 responses: 6254 200: 6255 description: "No error" 6256 403: 6257 description: "Operation not supported for swarm scoped networks" 6258 schema: 6259 $ref: "#/definitions/ErrorResponse" 6260 404: 6261 description: "Network or container not found" 6262 schema: 6263 $ref: "#/definitions/ErrorResponse" 6264 500: 6265 description: "Server error" 6266 schema: 6267 $ref: "#/definitions/ErrorResponse" 6268 parameters: 6269 - name: "id" 6270 in: "path" 6271 description: "Network ID or name" 6272 required: true 6273 type: "string" 6274 - name: "container" 6275 in: "body" 6276 required: true 6277 schema: 6278 type: "object" 6279 properties: 6280 Container: 6281 type: "string" 6282 description: "The ID or name of the container to disconnect from the network." 6283 Force: 6284 type: "boolean" 6285 description: "Force the container to disconnect from the network." 6286 tags: ["Network"] 6287 /networks/prune: 6288 post: 6289 summary: "Delete unused networks" 6290 consumes: 6291 - "application/json" 6292 produces: 6293 - "application/json" 6294 operationId: "NetworkPrune" 6295 parameters: 6296 - name: "filters" 6297 in: "query" 6298 description: | 6299 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 6300 6301 Available filters: 6302 type: "string" 6303 responses: 6304 200: 6305 description: "No error" 6306 schema: 6307 type: "object" 6308 properties: 6309 VolumesDeleted: 6310 description: "Networks that were deleted" 6311 type: "array" 6312 items: 6313 type: "string" 6314 500: 6315 description: "Server error" 6316 schema: 6317 $ref: "#/definitions/ErrorResponse" 6318 tags: ["Network"] 6319 /plugins: 6320 get: 6321 summary: "List plugins" 6322 operationId: "PluginList" 6323 description: "Returns information about installed plugins." 6324 produces: ["application/json"] 6325 responses: 6326 200: 6327 description: "No error" 6328 schema: 6329 type: "array" 6330 items: 6331 $ref: "#/definitions/Plugin" 6332 example: 6333 - Id: "5724e2c8652da337ab2eedd19fc6fc0ec908e4bd907c7421bf6a8dfc70c4c078" 6334 Name: "tiborvass/sample-volume-plugin" 6335 Tag: "latest" 6336 Active: true 6337 Settings: 6338 Env: 6339 - "DEBUG=0" 6340 Args: null 6341 Devices: null 6342 Config: 6343 Description: "A sample volume plugin for Docker" 6344 Documentation: "https://docs.docker.com/engine/extend/plugins/" 6345 Interface: 6346 Types: 6347 - "docker.volumedriver/1.0" 6348 Socket: "plugins.sock" 6349 Entrypoint: 6350 - "/usr/bin/sample-volume-plugin" 6351 - "/data" 6352 WorkDir: "" 6353 User: {} 6354 Network: 6355 Type: "" 6356 Linux: 6357 Capabilities: null 6358 AllowAllDevices: false 6359 Devices: null 6360 Mounts: null 6361 PropagatedMount: "/data" 6362 Env: 6363 - Name: "DEBUG" 6364 Description: "If set, prints debug messages" 6365 Settable: null 6366 Value: "0" 6367 Args: 6368 Name: "args" 6369 Description: "command line arguments" 6370 Settable: null 6371 Value: [] 6372 500: 6373 description: "Server error" 6374 schema: 6375 $ref: "#/definitions/ErrorResponse" 6376 tags: ["Plugin"] 6377 6378 /plugins/privileges: 6379 get: 6380 summary: "Get plugin privileges" 6381 operationId: "GetPluginPrivileges" 6382 responses: 6383 200: 6384 description: "no error" 6385 schema: 6386 type: "array" 6387 items: 6388 description: "Describes a permission the user has to accept upon installing the plugin." 6389 type: "object" 6390 properties: 6391 Name: 6392 type: "string" 6393 Description: 6394 type: "string" 6395 Value: 6396 type: "array" 6397 items: 6398 type: "string" 6399 example: 6400 - Name: "network" 6401 Description: "" 6402 Value: 6403 - "host" 6404 - Name: "mount" 6405 Description: "" 6406 Value: 6407 - "/data" 6408 - Name: "device" 6409 Description: "" 6410 Value: 6411 - "/dev/cpu_dma_latency" 6412 500: 6413 description: "server error" 6414 schema: 6415 $ref: "#/definitions/ErrorResponse" 6416 parameters: 6417 - name: "name" 6418 in: "query" 6419 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6420 required: true 6421 type: "string" 6422 tags: 6423 - "Plugin" 6424 6425 /plugins/pull: 6426 post: 6427 summary: "Install a plugin" 6428 operationId: "PluginPull" 6429 description: | 6430 Pulls and installs a plugin. After the plugin is installed, it can be enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable). 6431 produces: 6432 - "application/json" 6433 responses: 6434 204: 6435 description: "no error" 6436 500: 6437 description: "server error" 6438 schema: 6439 $ref: "#/definitions/ErrorResponse" 6440 parameters: 6441 - name: "remote" 6442 in: "query" 6443 description: | 6444 Remote reference for plugin to install. 6445 6446 The `:latest` tag is optional, and is used as the default if omitted. 6447 required: true 6448 type: "string" 6449 - name: "name" 6450 in: "query" 6451 description: | 6452 Local name for the pulled plugin. 6453 6454 The `:latest` tag is optional, and is used as the default if omitted. 6455 required: false 6456 type: "string" 6457 - name: "X-Registry-Auth" 6458 in: "header" 6459 description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)" 6460 type: "string" 6461 - name: "body" 6462 in: "body" 6463 schema: 6464 type: "array" 6465 items: 6466 description: "Describes a permission accepted by the user upon installing the plugin." 6467 type: "object" 6468 properties: 6469 Name: 6470 type: "string" 6471 Description: 6472 type: "string" 6473 Value: 6474 type: "array" 6475 items: 6476 type: "string" 6477 example: 6478 - Name: "network" 6479 Description: "" 6480 Value: 6481 - "host" 6482 - Name: "mount" 6483 Description: "" 6484 Value: 6485 - "/data" 6486 - Name: "device" 6487 Description: "" 6488 Value: 6489 - "/dev/cpu_dma_latency" 6490 tags: ["Plugin"] 6491 /plugins/{name}/json: 6492 get: 6493 summary: "Inspect a plugin" 6494 operationId: "PluginInspect" 6495 responses: 6496 200: 6497 description: "no error" 6498 schema: 6499 $ref: "#/definitions/Plugin" 6500 404: 6501 description: "plugin is not installed" 6502 schema: 6503 $ref: "#/definitions/ErrorResponse" 6504 500: 6505 description: "server error" 6506 schema: 6507 $ref: "#/definitions/ErrorResponse" 6508 parameters: 6509 - name: "name" 6510 in: "path" 6511 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6512 required: true 6513 type: "string" 6514 tags: ["Plugin"] 6515 /plugins/{name}: 6516 delete: 6517 summary: "Remove a plugin" 6518 operationId: "PluginDelete" 6519 responses: 6520 200: 6521 description: "no error" 6522 schema: 6523 $ref: "#/definitions/Plugin" 6524 404: 6525 description: "plugin is not installed" 6526 schema: 6527 $ref: "#/definitions/ErrorResponse" 6528 500: 6529 description: "server error" 6530 schema: 6531 $ref: "#/definitions/ErrorResponse" 6532 parameters: 6533 - name: "name" 6534 in: "path" 6535 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6536 required: true 6537 type: "string" 6538 - name: "force" 6539 in: "query" 6540 description: "Disable the plugin before removing. This may result in issues if the plugin is in use by a container." 6541 type: "boolean" 6542 default: false 6543 tags: ["Plugin"] 6544 /plugins/{name}/enable: 6545 post: 6546 summary: "Enable a plugin" 6547 operationId: "PluginEnable" 6548 responses: 6549 200: 6550 description: "no error" 6551 500: 6552 description: "server error" 6553 schema: 6554 $ref: "#/definitions/ErrorResponse" 6555 parameters: 6556 - name: "name" 6557 in: "path" 6558 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6559 required: true 6560 type: "string" 6561 - name: "timeout" 6562 in: "query" 6563 description: "Set the HTTP client timeout (in seconds)" 6564 type: "integer" 6565 default: 0 6566 tags: ["Plugin"] 6567 /plugins/{name}/disable: 6568 post: 6569 summary: "Disable a plugin" 6570 operationId: "PluginDisable" 6571 responses: 6572 200: 6573 description: "no error" 6574 500: 6575 description: "server error" 6576 schema: 6577 $ref: "#/definitions/ErrorResponse" 6578 parameters: 6579 - name: "name" 6580 in: "path" 6581 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6582 required: true 6583 type: "string" 6584 tags: ["Plugin"] 6585 /plugins/create: 6586 post: 6587 summary: "Create a plugin" 6588 operationId: "PluginCreate" 6589 consumes: 6590 - "application/x-tar" 6591 responses: 6592 204: 6593 description: "no error" 6594 500: 6595 description: "server error" 6596 schema: 6597 $ref: "#/definitions/ErrorResponse" 6598 parameters: 6599 - name: "name" 6600 in: "query" 6601 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6602 required: true 6603 type: "string" 6604 - name: "tarContext" 6605 in: "body" 6606 description: "Path to tar containing plugin rootfs and manifest" 6607 schema: 6608 type: "string" 6609 format: "binary" 6610 tags: ["Plugin"] 6611 /plugins/{name}/push: 6612 post: 6613 summary: "Push a plugin" 6614 operationId: "PluginPush" 6615 description: | 6616 Push a plugin to the registry. 6617 parameters: 6618 - name: "name" 6619 in: "path" 6620 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6621 required: true 6622 type: "string" 6623 responses: 6624 200: 6625 description: "no error" 6626 404: 6627 description: "plugin not installed" 6628 schema: 6629 $ref: "#/definitions/ErrorResponse" 6630 500: 6631 description: "server error" 6632 schema: 6633 $ref: "#/definitions/ErrorResponse" 6634 tags: ["Plugin"] 6635 /plugins/{name}/set: 6636 post: 6637 summary: "Configure a plugin" 6638 operationId: "PluginSet" 6639 consumes: 6640 - "application/json" 6641 parameters: 6642 - name: "name" 6643 in: "path" 6644 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 6645 required: true 6646 type: "string" 6647 - name: "body" 6648 in: "body" 6649 schema: 6650 type: "array" 6651 items: 6652 type: "string" 6653 example: ["DEBUG=1"] 6654 responses: 6655 204: 6656 description: "No error" 6657 404: 6658 description: "Plugin not installed" 6659 schema: 6660 $ref: "#/definitions/ErrorResponse" 6661 500: 6662 description: "Server error" 6663 schema: 6664 $ref: "#/definitions/ErrorResponse" 6665 tags: ["Plugin"] 6666 /nodes: 6667 get: 6668 summary: "List nodes" 6669 operationId: "NodeList" 6670 responses: 6671 200: 6672 description: "no error" 6673 schema: 6674 type: "array" 6675 items: 6676 $ref: "#/definitions/Node" 6677 500: 6678 description: "server error" 6679 schema: 6680 $ref: "#/definitions/ErrorResponse" 6681 parameters: 6682 - name: "filters" 6683 in: "query" 6684 description: | 6685 Filters to process on the nodes list, encoded as JSON (a `map[string][]string`). 6686 6687 Available filters: 6688 - `id=<node id>` 6689 - `label=<engine label>` 6690 - `membership=`(`accepted`|`pending`)` 6691 - `name=<node name>` 6692 - `role=`(`manager`|`worker`)` 6693 type: "string" 6694 tags: ["Node"] 6695 /nodes/{id}: 6696 get: 6697 summary: "Inspect a node" 6698 operationId: "NodeInspect" 6699 responses: 6700 200: 6701 description: "no error" 6702 schema: 6703 $ref: "#/definitions/Node" 6704 404: 6705 description: "no such node" 6706 schema: 6707 $ref: "#/definitions/ErrorResponse" 6708 500: 6709 description: "server error" 6710 schema: 6711 $ref: "#/definitions/ErrorResponse" 6712 parameters: 6713 - name: "id" 6714 in: "path" 6715 description: "The ID or name of the node" 6716 type: "string" 6717 required: true 6718 tags: ["Node"] 6719 delete: 6720 summary: "Delete a node" 6721 operationId: "NodeDelete" 6722 responses: 6723 200: 6724 description: "no error" 6725 404: 6726 description: "no such node" 6727 schema: 6728 $ref: "#/definitions/ErrorResponse" 6729 500: 6730 description: "server error" 6731 schema: 6732 $ref: "#/definitions/ErrorResponse" 6733 parameters: 6734 - name: "id" 6735 in: "path" 6736 description: "The ID or name of the node" 6737 type: "string" 6738 required: true 6739 - name: "force" 6740 in: "query" 6741 description: "Force remove a node from the swarm" 6742 default: false 6743 type: "boolean" 6744 tags: ["Node"] 6745 /nodes/{id}/update: 6746 post: 6747 summary: "Update a node" 6748 operationId: "NodeUpdate" 6749 responses: 6750 200: 6751 description: "no error" 6752 404: 6753 description: "no such node" 6754 schema: 6755 $ref: "#/definitions/ErrorResponse" 6756 500: 6757 description: "server error" 6758 schema: 6759 $ref: "#/definitions/ErrorResponse" 6760 parameters: 6761 - name: "id" 6762 in: "path" 6763 description: "The ID of the node" 6764 type: "string" 6765 required: true 6766 - name: "body" 6767 in: "body" 6768 schema: 6769 $ref: "#/definitions/NodeSpec" 6770 - name: "version" 6771 in: "query" 6772 description: "The version number of the node object being updated. This is required to avoid conflicting writes." 6773 type: "integer" 6774 format: "int64" 6775 required: true 6776 tags: ["Node"] 6777 /swarm: 6778 get: 6779 summary: "Inspect swarm" 6780 operationId: "SwarmInspect" 6781 responses: 6782 200: 6783 description: "no error" 6784 schema: 6785 allOf: 6786 - $ref: "#/definitions/ClusterInfo" 6787 - type: "object" 6788 properties: 6789 JoinTokens: 6790 description: "The tokens workers and managers need to join the swarm." 6791 type: "object" 6792 properties: 6793 Worker: 6794 description: "The token workers can use to join the swarm." 6795 type: "string" 6796 Manager: 6797 description: "The token managers can use to join the swarm." 6798 type: "string" 6799 example: 6800 CreatedAt: "2016-08-15T16:00:20.349727406Z" 6801 Spec: 6802 Dispatcher: 6803 HeartbeatPeriod: 5000000000 6804 Orchestration: 6805 TaskHistoryRetentionLimit: 10 6806 CAConfig: 6807 NodeCertExpiry: 7776000000000000 6808 Raft: 6809 LogEntriesForSlowFollowers: 500 6810 HeartbeatTick: 1 6811 SnapshotInterval: 10000 6812 ElectionTick: 3 6813 TaskDefaults: {} 6814 EncryptionConfig: 6815 AutoLockManagers: false 6816 Name: "default" 6817 JoinTokens: 6818 Worker: "SWMTKN-1-1h8aps2yszaiqmz2l3oc5392pgk8e49qhx2aj3nyv0ui0hez2a-6qmn92w6bu3jdvnglku58u11a" 6819 Manager: "SWMTKN-1-1h8aps2yszaiqmz2l3oc5392pgk8e49qhx2aj3nyv0ui0hez2a-8llk83c4wm9lwioey2s316r9l" 6820 ID: "70ilmkj2f6sp2137c753w2nmt" 6821 UpdatedAt: "2016-08-15T16:32:09.623207604Z" 6822 Version: 6823 Index: 51 6824 500: 6825 description: "server error" 6826 schema: 6827 $ref: "#/definitions/ErrorResponse" 6828 tags: ["Swarm"] 6829 /swarm/init: 6830 post: 6831 summary: "Initialize a new swarm" 6832 operationId: "SwarmInit" 6833 produces: 6834 - "application/json" 6835 - "text/plain" 6836 responses: 6837 200: 6838 description: "no error" 6839 schema: 6840 description: "The node ID" 6841 type: "string" 6842 example: "7v2t30z9blmxuhnyo6s4cpenp" 6843 400: 6844 description: "bad parameter" 6845 schema: 6846 $ref: "#/definitions/ErrorResponse" 6847 406: 6848 description: "node is already part of a swarm" 6849 schema: 6850 $ref: "#/definitions/ErrorResponse" 6851 500: 6852 description: "server error" 6853 schema: 6854 $ref: "#/definitions/ErrorResponse" 6855 parameters: 6856 - name: "body" 6857 in: "body" 6858 required: true 6859 schema: 6860 type: "object" 6861 properties: 6862 ListenAddr: 6863 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." 6864 type: "string" 6865 AdvertiseAddr: 6866 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." 6867 type: "string" 6868 ForceNewCluster: 6869 description: "Force creation of a new swarm." 6870 type: "boolean" 6871 Spec: 6872 $ref: "#/definitions/SwarmSpec" 6873 example: 6874 ListenAddr: "0.0.0.0:2377" 6875 AdvertiseAddr: "192.168.1.1:2377" 6876 ForceNewCluster: false 6877 Spec: 6878 Orchestration: {} 6879 Raft: {} 6880 Dispatcher: {} 6881 CAConfig: {} 6882 EncryptionConfig: 6883 AutoLockManagers: false 6884 tags: ["Swarm"] 6885 /swarm/join: 6886 post: 6887 summary: "Join an existing swarm" 6888 operationId: "SwarmJoin" 6889 responses: 6890 200: 6891 description: "no error" 6892 400: 6893 description: "bad parameter" 6894 schema: 6895 $ref: "#/definitions/ErrorResponse" 6896 500: 6897 description: "server error" 6898 schema: 6899 $ref: "#/definitions/ErrorResponse" 6900 503: 6901 description: "node is already part of a swarm" 6902 schema: 6903 $ref: "#/definitions/ErrorResponse" 6904 parameters: 6905 - name: "body" 6906 in: "body" 6907 required: true 6908 schema: 6909 type: "object" 6910 properties: 6911 ListenAddr: 6912 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)." 6913 type: "string" 6914 AdvertiseAddr: 6915 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." 6916 type: "string" 6917 RemoteAddrs: 6918 description: "Addresses of manager nodes already participating in the swarm." 6919 type: "string" 6920 JoinToken: 6921 description: "Secret token for joining this swarm." 6922 type: "string" 6923 example: 6924 ListenAddr: "0.0.0.0:2377" 6925 AdvertiseAddr: "192.168.1.1:2377" 6926 RemoteAddrs: 6927 - "node1:2377" 6928 JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" 6929 tags: ["Swarm"] 6930 /swarm/leave: 6931 post: 6932 summary: "Leave a swarm" 6933 operationId: "SwarmLeave" 6934 responses: 6935 200: 6936 description: "no error" 6937 500: 6938 description: "server error" 6939 schema: 6940 $ref: "#/definitions/ErrorResponse" 6941 503: 6942 description: "node is not part of a swarm" 6943 schema: 6944 $ref: "#/definitions/ErrorResponse" 6945 parameters: 6946 - name: "force" 6947 description: "Force leave swarm, even if this is the last manager or that it will break the cluster." 6948 in: "query" 6949 type: "boolean" 6950 default: false 6951 tags: ["Swarm"] 6952 /swarm/update: 6953 post: 6954 summary: "Update a swarm" 6955 operationId: "SwarmUpdate" 6956 responses: 6957 200: 6958 description: "no error" 6959 400: 6960 description: "bad parameter" 6961 schema: 6962 $ref: "#/definitions/ErrorResponse" 6963 500: 6964 description: "server error" 6965 schema: 6966 $ref: "#/definitions/ErrorResponse" 6967 503: 6968 description: "node is not part of a swarm" 6969 schema: 6970 $ref: "#/definitions/ErrorResponse" 6971 parameters: 6972 - name: "body" 6973 in: "body" 6974 required: true 6975 schema: 6976 $ref: "#/definitions/SwarmSpec" 6977 - name: "version" 6978 in: "query" 6979 description: "The version number of the swarm object being updated. This is required to avoid conflicting writes." 6980 type: "integer" 6981 format: "int64" 6982 required: true 6983 - name: "rotateWorkerToken" 6984 in: "query" 6985 description: "Rotate the worker join token." 6986 type: "boolean" 6987 default: false 6988 - name: "rotateManagerToken" 6989 in: "query" 6990 description: "Rotate the manager join token." 6991 type: "boolean" 6992 default: false 6993 - name: "rotateManagerUnlockKey" 6994 in: "query" 6995 description: "Rotate the manager unlock key." 6996 type: "boolean" 6997 default: false 6998 tags: ["Swarm"] 6999 /swarm/unlockkey: 7000 get: 7001 summary: "Get the unlock key" 7002 operationId: "SwarmUnlockkey" 7003 consumes: 7004 - "application/json" 7005 responses: 7006 200: 7007 description: "no error" 7008 schema: 7009 type: "object" 7010 properties: 7011 UnlockKey: 7012 description: "The swarm's unlock key." 7013 type: "string" 7014 example: 7015 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 7016 500: 7017 description: "server error" 7018 schema: 7019 $ref: "#/definitions/ErrorResponse" 7020 tags: ["Swarm"] 7021 /swarm/unlock: 7022 post: 7023 summary: "Unlock a locked manager" 7024 operationId: "SwarmUnlock" 7025 consumes: 7026 - "application/json" 7027 produces: 7028 - "application/json" 7029 parameters: 7030 - name: "body" 7031 in: "body" 7032 required: true 7033 schema: 7034 type: "object" 7035 properties: 7036 UnlockKey: 7037 description: "The swarm's unlock key." 7038 type: "string" 7039 example: 7040 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 7041 responses: 7042 200: 7043 description: "no error" 7044 500: 7045 description: "server error" 7046 schema: 7047 $ref: "#/definitions/ErrorResponse" 7048 tags: ["Swarm"] 7049 /services: 7050 get: 7051 summary: "List services" 7052 operationId: "ServiceList" 7053 responses: 7054 200: 7055 description: "no error" 7056 schema: 7057 type: "array" 7058 items: 7059 $ref: "#/definitions/Service" 7060 500: 7061 description: "server error" 7062 schema: 7063 $ref: "#/definitions/ErrorResponse" 7064 parameters: 7065 - name: "filters" 7066 in: "query" 7067 type: "string" 7068 description: | 7069 A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters: 7070 7071 - `id=<service id>` 7072 - `name=<service name>` 7073 - `label=<service label>` 7074 tags: ["Service"] 7075 /services/create: 7076 post: 7077 summary: "Create a service" 7078 operationId: "ServiceCreate" 7079 consumes: 7080 - "application/json" 7081 produces: 7082 - "application/json" 7083 responses: 7084 201: 7085 description: "no error" 7086 schema: 7087 type: "object" 7088 properties: 7089 ID: 7090 description: "The ID of the created service." 7091 type: "string" 7092 Warning: 7093 description: "Optional warning message" 7094 type: "string" 7095 example: 7096 ID: "ak7w3gjqoa3kuz8xcpnyy0pvl" 7097 Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" 7098 403: 7099 description: "network is not eligible for services" 7100 schema: 7101 $ref: "#/definitions/ErrorResponse" 7102 409: 7103 description: "name conflicts with an existing service" 7104 schema: 7105 $ref: "#/definitions/ErrorResponse" 7106 500: 7107 description: "server error" 7108 schema: 7109 $ref: "#/definitions/ErrorResponse" 7110 503: 7111 description: "server error or node is not part of a swarm" 7112 schema: 7113 $ref: "#/definitions/ErrorResponse" 7114 parameters: 7115 - name: "body" 7116 in: "body" 7117 required: true 7118 schema: 7119 allOf: 7120 - $ref: "#/definitions/ServiceSpec" 7121 - type: "object" 7122 example: 7123 Name: "web" 7124 TaskTemplate: 7125 ContainerSpec: 7126 Image: "nginx:alpine" 7127 Mounts: 7128 - 7129 ReadOnly: true 7130 Source: "web-data" 7131 Target: "/usr/share/nginx/html" 7132 Type: "volume" 7133 VolumeOptions: 7134 DriverConfig: {} 7135 Labels: 7136 com.example.something: "something-value" 7137 User: "33" 7138 DNSConfig: 7139 Nameservers: ["8.8.8.8"] 7140 Search: ["example.org"] 7141 Options: ["timeout:3"] 7142 LogDriver: 7143 Name: "json-file" 7144 Options: 7145 max-file: "3" 7146 max-size: "10M" 7147 Placement: {} 7148 Resources: 7149 Limits: 7150 MemoryBytes: 104857600 7151 Reservations: {} 7152 RestartPolicy: 7153 Condition: "on-failure" 7154 Delay: 10000000000 7155 MaxAttempts: 10 7156 Mode: 7157 Replicated: 7158 Replicas: 4 7159 UpdateConfig: 7160 Delay: 30000000000 7161 Parallelism: 2 7162 FailureAction: "pause" 7163 EndpointSpec: 7164 Ports: 7165 - 7166 Protocol: "tcp" 7167 PublishedPort: 8080 7168 TargetPort: 80 7169 Labels: 7170 foo: "bar" 7171 - name: "X-Registry-Auth" 7172 in: "header" 7173 description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)" 7174 type: "string" 7175 tags: ["Service"] 7176 /services/{id}: 7177 get: 7178 summary: "Inspect a service" 7179 operationId: "ServiceInspect" 7180 responses: 7181 200: 7182 description: "no error" 7183 schema: 7184 $ref: "#/definitions/Service" 7185 404: 7186 description: "no such service" 7187 schema: 7188 $ref: "#/definitions/ErrorResponse" 7189 500: 7190 description: "server error" 7191 schema: 7192 $ref: "#/definitions/ErrorResponse" 7193 parameters: 7194 - name: "id" 7195 in: "path" 7196 description: "ID or name of service." 7197 required: true 7198 type: "string" 7199 tags: ["Service"] 7200 delete: 7201 summary: "Delete a service" 7202 operationId: "ServiceDelete" 7203 responses: 7204 200: 7205 description: "no error" 7206 404: 7207 description: "no such service" 7208 schema: 7209 $ref: "#/definitions/ErrorResponse" 7210 500: 7211 description: "server error" 7212 schema: 7213 $ref: "#/definitions/ErrorResponse" 7214 parameters: 7215 - name: "id" 7216 in: "path" 7217 description: "ID or name of service." 7218 required: true 7219 type: "string" 7220 tags: ["Service"] 7221 /services/{id}/update: 7222 post: 7223 summary: "Update a service" 7224 operationId: "ServiceUpdate" 7225 consumes: ["application/json"] 7226 produces: ["application/json"] 7227 responses: 7228 200: 7229 description: "no error" 7230 schema: 7231 $ref: "#/definitions/ImageDeleteResponse" 7232 404: 7233 description: "no such service" 7234 schema: 7235 $ref: "#/definitions/ErrorResponse" 7236 500: 7237 description: "server error" 7238 schema: 7239 $ref: "#/definitions/ErrorResponse" 7240 parameters: 7241 - name: "id" 7242 in: "path" 7243 description: "ID or name of service." 7244 required: true 7245 type: "string" 7246 - name: "body" 7247 in: "body" 7248 required: true 7249 schema: 7250 allOf: 7251 - $ref: "#/definitions/ServiceSpec" 7252 - type: "object" 7253 example: 7254 Name: "top" 7255 TaskTemplate: 7256 ContainerSpec: 7257 Image: "busybox" 7258 Args: 7259 - "top" 7260 Resources: 7261 Limits: {} 7262 Reservations: {} 7263 RestartPolicy: 7264 Condition: "any" 7265 MaxAttempts: 0 7266 Placement: {} 7267 ForceUpdate: 0 7268 Mode: 7269 Replicated: 7270 Replicas: 1 7271 UpdateConfig: 7272 Parallelism: 1 7273 Monitor: 15000000000 7274 MaxFailureRatio: 0.15 7275 EndpointSpec: 7276 Mode: "vip" 7277 7278 - name: "version" 7279 in: "query" 7280 description: "The version number of the service object being updated. This is required to avoid conflicting writes." 7281 required: true 7282 type: "integer" 7283 - name: "registryAuthFrom" 7284 in: "query" 7285 type: "string" 7286 description: "If the X-Registry-Auth header is not specified, this 7287 parameter indicates where to find registry authorization credentials. The 7288 valid values are `spec` and `previous-spec`." 7289 default: "spec" 7290 - name: "X-Registry-Auth" 7291 in: "header" 7292 description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)" 7293 type: "string" 7294 7295 tags: ["Service"] 7296 /services/{id}/logs: 7297 get: 7298 summary: "Get service logs" 7299 description: | 7300 Get `stdout` and `stderr` logs from a service. 7301 7302 **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers. 7303 operationId: "ServiceLogs" 7304 produces: 7305 - "application/vnd.docker.raw-stream" 7306 - "application/json" 7307 responses: 7308 101: 7309 description: "logs returned as a stream" 7310 schema: 7311 type: "string" 7312 format: "binary" 7313 200: 7314 description: "logs returned as a string in response body" 7315 schema: 7316 type: "string" 7317 404: 7318 description: "no such container" 7319 schema: 7320 $ref: "#/definitions/ErrorResponse" 7321 examples: 7322 application/json: 7323 message: "No such container: c2ada9df5af8" 7324 500: 7325 description: "server error" 7326 schema: 7327 $ref: "#/definitions/ErrorResponse" 7328 parameters: 7329 - name: "id" 7330 in: "path" 7331 required: true 7332 description: "ID or name of the container" 7333 type: "string" 7334 - name: "details" 7335 in: "query" 7336 description: "Show extra details provided to logs." 7337 type: "boolean" 7338 default: false 7339 - name: "follow" 7340 in: "query" 7341 description: | 7342 Return the logs as a stream. 7343 7344 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). 7345 type: "boolean" 7346 default: false 7347 - name: "stdout" 7348 in: "query" 7349 description: "Return logs from `stdout`" 7350 type: "boolean" 7351 default: false 7352 - name: "stderr" 7353 in: "query" 7354 description: "Return logs from `stderr`" 7355 type: "boolean" 7356 default: false 7357 - name: "since" 7358 in: "query" 7359 description: "Only return logs since this time, as a UNIX timestamp" 7360 type: "integer" 7361 default: 0 7362 - name: "timestamps" 7363 in: "query" 7364 description: "Add timestamps to every log line" 7365 type: "boolean" 7366 default: false 7367 - name: "tail" 7368 in: "query" 7369 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." 7370 type: "string" 7371 default: "all" 7372 tags: ["Service"] 7373 /tasks: 7374 get: 7375 summary: "List tasks" 7376 operationId: "TaskList" 7377 produces: 7378 - "application/json" 7379 responses: 7380 200: 7381 description: "no error" 7382 schema: 7383 type: "array" 7384 items: 7385 $ref: "#/definitions/Task" 7386 example: 7387 - ID: "0kzzo1i0y4jz6027t0k7aezc7" 7388 Version: 7389 Index: 71 7390 CreatedAt: "2016-06-07T21:07:31.171892745Z" 7391 UpdatedAt: "2016-06-07T21:07:31.376370513Z" 7392 Spec: 7393 ContainerSpec: 7394 Image: "redis" 7395 Resources: 7396 Limits: {} 7397 Reservations: {} 7398 RestartPolicy: 7399 Condition: "any" 7400 MaxAttempts: 0 7401 Placement: {} 7402 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 7403 Slot: 1 7404 NodeID: "60gvrl6tm78dmak4yl7srz94v" 7405 Status: 7406 Timestamp: "2016-06-07T21:07:31.290032978Z" 7407 State: "running" 7408 Message: "started" 7409 ContainerStatus: 7410 ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035" 7411 PID: 677 7412 DesiredState: "running" 7413 NetworksAttachments: 7414 - Network: 7415 ID: "4qvuz4ko70xaltuqbt8956gd1" 7416 Version: 7417 Index: 18 7418 CreatedAt: "2016-06-07T20:31:11.912919752Z" 7419 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 7420 Spec: 7421 Name: "ingress" 7422 Labels: 7423 com.docker.swarm.internal: "true" 7424 DriverConfiguration: {} 7425 IPAMOptions: 7426 Driver: {} 7427 Configs: 7428 - Subnet: "10.255.0.0/16" 7429 Gateway: "10.255.0.1" 7430 DriverState: 7431 Name: "overlay" 7432 Options: 7433 com.docker.network.driver.overlay.vxlanid_list: "256" 7434 IPAMOptions: 7435 Driver: 7436 Name: "default" 7437 Configs: 7438 - Subnet: "10.255.0.0/16" 7439 Gateway: "10.255.0.1" 7440 Addresses: 7441 - "10.255.0.10/16" 7442 - ID: "1yljwbmlr8er2waf8orvqpwms" 7443 Version: 7444 Index: 30 7445 CreatedAt: "2016-06-07T21:07:30.019104782Z" 7446 UpdatedAt: "2016-06-07T21:07:30.231958098Z" 7447 Name: "hopeful_cori" 7448 Spec: 7449 ContainerSpec: 7450 Image: "redis" 7451 Resources: 7452 Limits: {} 7453 Reservations: {} 7454 RestartPolicy: 7455 Condition: "any" 7456 MaxAttempts: 0 7457 Placement: {} 7458 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 7459 Slot: 1 7460 NodeID: "60gvrl6tm78dmak4yl7srz94v" 7461 Status: 7462 Timestamp: "2016-06-07T21:07:30.202183143Z" 7463 State: "shutdown" 7464 Message: "shutdown" 7465 ContainerStatus: 7466 ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" 7467 DesiredState: "shutdown" 7468 NetworksAttachments: 7469 - Network: 7470 ID: "4qvuz4ko70xaltuqbt8956gd1" 7471 Version: 7472 Index: 18 7473 CreatedAt: "2016-06-07T20:31:11.912919752Z" 7474 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 7475 Spec: 7476 Name: "ingress" 7477 Labels: 7478 com.docker.swarm.internal: "true" 7479 DriverConfiguration: {} 7480 IPAMOptions: 7481 Driver: {} 7482 Configs: 7483 - Subnet: "10.255.0.0/16" 7484 Gateway: "10.255.0.1" 7485 DriverState: 7486 Name: "overlay" 7487 Options: 7488 com.docker.network.driver.overlay.vxlanid_list: "256" 7489 IPAMOptions: 7490 Driver: 7491 Name: "default" 7492 Configs: 7493 - Subnet: "10.255.0.0/16" 7494 Gateway: "10.255.0.1" 7495 Addresses: 7496 - "10.255.0.5/16" 7497 7498 500: 7499 description: "server error" 7500 schema: 7501 $ref: "#/definitions/ErrorResponse" 7502 parameters: 7503 - name: "filters" 7504 in: "query" 7505 type: "string" 7506 description: | 7507 A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters: 7508 7509 - `id=<task id>` 7510 - `name=<task name>` 7511 - `service=<service name>` 7512 - `node=<node id or name>` 7513 - `label=key` or `label="key=value"` 7514 - `desired-state=(running | shutdown | accepted)` 7515 tags: ["Task"] 7516 /tasks/{id}: 7517 get: 7518 summary: "Inspect a task" 7519 operationId: "TaskInspect" 7520 produces: 7521 - "application/json" 7522 responses: 7523 200: 7524 description: "no error" 7525 schema: 7526 $ref: "#/definitions/Task" 7527 404: 7528 description: "no such task" 7529 schema: 7530 $ref: "#/definitions/ErrorResponse" 7531 500: 7532 description: "server error" 7533 schema: 7534 $ref: "#/definitions/ErrorResponse" 7535 parameters: 7536 - name: "id" 7537 in: "path" 7538 description: "ID of the task" 7539 required: true 7540 type: "string" 7541 tags: ["Task"] 7542 /secrets: 7543 get: 7544 summary: "List secrets" 7545 operationId: "SecretList" 7546 produces: 7547 - "application/json" 7548 responses: 7549 200: 7550 description: "no error" 7551 schema: 7552 type: "array" 7553 items: 7554 $ref: "#/definitions/Secret" 7555 example: 7556 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 7557 Version: 7558 Index: 11 7559 CreatedAt: "2016-11-05T01:20:17.327670065Z" 7560 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 7561 Spec: 7562 Name: "app-dev.crt" 7563 500: 7564 description: "server error" 7565 schema: 7566 $ref: "#/definitions/ErrorResponse" 7567 parameters: 7568 - name: "filters" 7569 in: "query" 7570 type: "string" 7571 description: | 7572 A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters: 7573 7574 - `names=<secret name>` 7575 tags: ["Secret"] 7576 /secrets/create: 7577 post: 7578 summary: "Create a secret" 7579 operationId: "SecretCreate" 7580 consumes: 7581 - "application/json" 7582 produces: 7583 - "application/json" 7584 responses: 7585 201: 7586 description: "no error" 7587 schema: 7588 type: "object" 7589 properties: 7590 ID: 7591 description: "The ID of the created secret." 7592 type: "string" 7593 example: 7594 ID: "ktnbjxoalbkvbvedmg1urrz8h" 7595 406: 7596 description: "server error or node is not part of a swarm" 7597 schema: 7598 $ref: "#/definitions/ErrorResponse" 7599 409: 7600 description: "name conflicts with an existing object" 7601 schema: 7602 $ref: "#/definitions/ErrorResponse" 7603 500: 7604 description: "server error" 7605 schema: 7606 $ref: "#/definitions/ErrorResponse" 7607 parameters: 7608 - name: "body" 7609 in: "body" 7610 schema: 7611 allOf: 7612 - $ref: "#/definitions/SecretSpec" 7613 - type: "object" 7614 example: 7615 Name: "app-key.crt" 7616 Labels: 7617 foo: "bar" 7618 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 7619 tags: ["Secret"] 7620 /secrets/{id}: 7621 get: 7622 summary: "Inspect a secret" 7623 operationId: "SecretInspect" 7624 produces: 7625 - "application/json" 7626 responses: 7627 200: 7628 description: "no error" 7629 schema: 7630 $ref: "#/definitions/Secret" 7631 example: 7632 ID: "ktnbjxoalbkvbvedmg1urrz8h" 7633 Version: 7634 Index: 11 7635 CreatedAt: "2016-11-05T01:20:17.327670065Z" 7636 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 7637 Spec: 7638 Name: "app-dev.crt" 7639 404: 7640 description: "secret not found" 7641 schema: 7642 $ref: "#/definitions/ErrorResponse" 7643 406: 7644 description: "node is not part of a swarm" 7645 schema: 7646 $ref: "#/definitions/ErrorResponse" 7647 500: 7648 description: "server error" 7649 schema: 7650 $ref: "#/definitions/ErrorResponse" 7651 parameters: 7652 - name: "id" 7653 in: "path" 7654 required: true 7655 type: "string" 7656 description: "ID of the secret" 7657 tags: ["Secret"] 7658 delete: 7659 summary: "Delete a secret" 7660 operationId: "SecretDelete" 7661 produces: 7662 - "application/json" 7663 responses: 7664 204: 7665 description: "no error" 7666 404: 7667 description: "secret not found" 7668 schema: 7669 $ref: "#/definitions/ErrorResponse" 7670 500: 7671 description: "server error" 7672 schema: 7673 $ref: "#/definitions/ErrorResponse" 7674 parameters: 7675 - name: "id" 7676 in: "path" 7677 required: true 7678 type: "string" 7679 description: "ID of the secret" 7680 tags: ["Secret"]