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