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