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