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