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