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