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