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