github.com/moby/docker@v26.1.3+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 - name: "version" 8160 in: "query" 8161 type: "string" 8162 default: "1" 8163 enum: ["1", "2"] 8164 description: | 8165 Version of the builder backend to use. 8166 8167 - `1` is the first generation classic (deprecated) builder in the Docker daemon (default) 8168 - `2` is [BuildKit](https://github.com/moby/buildkit) 8169 responses: 8170 200: 8171 description: "no error" 8172 400: 8173 description: "Bad parameter" 8174 schema: 8175 $ref: "#/definitions/ErrorResponse" 8176 500: 8177 description: "server error" 8178 schema: 8179 $ref: "#/definitions/ErrorResponse" 8180 tags: ["Image"] 8181 /build/prune: 8182 post: 8183 summary: "Delete builder cache" 8184 produces: 8185 - "application/json" 8186 operationId: "BuildPrune" 8187 parameters: 8188 - name: "keep-storage" 8189 in: "query" 8190 description: "Amount of disk space in bytes to keep for cache" 8191 type: "integer" 8192 format: "int64" 8193 - name: "all" 8194 in: "query" 8195 type: "boolean" 8196 description: "Remove all types of build cache" 8197 - name: "filters" 8198 in: "query" 8199 type: "string" 8200 description: | 8201 A JSON encoded value of the filters (a `map[string][]string`) to 8202 process on the list of build cache objects. 8203 8204 Available filters: 8205 8206 - `until=<duration>`: duration relative to daemon's time, during which build cache was not used, in Go's duration format (e.g., '24h') 8207 - `id=<id>` 8208 - `parent=<id>` 8209 - `type=<string>` 8210 - `description=<string>` 8211 - `inuse` 8212 - `shared` 8213 - `private` 8214 responses: 8215 200: 8216 description: "No error" 8217 schema: 8218 type: "object" 8219 title: "BuildPruneResponse" 8220 properties: 8221 CachesDeleted: 8222 type: "array" 8223 items: 8224 description: "ID of build cache object" 8225 type: "string" 8226 SpaceReclaimed: 8227 description: "Disk space reclaimed in bytes" 8228 type: "integer" 8229 format: "int64" 8230 500: 8231 description: "Server error" 8232 schema: 8233 $ref: "#/definitions/ErrorResponse" 8234 tags: ["Image"] 8235 /images/create: 8236 post: 8237 summary: "Create an image" 8238 description: "Create an image by either pulling it from a registry or importing it." 8239 operationId: "ImageCreate" 8240 consumes: 8241 - "text/plain" 8242 - "application/octet-stream" 8243 produces: 8244 - "application/json" 8245 responses: 8246 200: 8247 description: "no error" 8248 404: 8249 description: "repository does not exist or no read access" 8250 schema: 8251 $ref: "#/definitions/ErrorResponse" 8252 500: 8253 description: "server error" 8254 schema: 8255 $ref: "#/definitions/ErrorResponse" 8256 parameters: 8257 - name: "fromImage" 8258 in: "query" 8259 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." 8260 type: "string" 8261 - name: "fromSrc" 8262 in: "query" 8263 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." 8264 type: "string" 8265 - name: "repo" 8266 in: "query" 8267 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." 8268 type: "string" 8269 - name: "tag" 8270 in: "query" 8271 description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled." 8272 type: "string" 8273 - name: "message" 8274 in: "query" 8275 description: "Set commit message for imported image." 8276 type: "string" 8277 - name: "inputImage" 8278 in: "body" 8279 description: "Image content if the value `-` has been specified in fromSrc query parameter" 8280 schema: 8281 type: "string" 8282 required: false 8283 - name: "X-Registry-Auth" 8284 in: "header" 8285 description: | 8286 A base64url-encoded auth configuration. 8287 8288 Refer to the [authentication section](#section/Authentication) for 8289 details. 8290 type: "string" 8291 - name: "changes" 8292 in: "query" 8293 description: | 8294 Apply `Dockerfile` instructions to the image that is created, 8295 for example: `changes=ENV DEBUG=true`. 8296 Note that `ENV DEBUG=true` should be URI component encoded. 8297 8298 Supported `Dockerfile` instructions: 8299 `CMD`|`ENTRYPOINT`|`ENV`|`EXPOSE`|`ONBUILD`|`USER`|`VOLUME`|`WORKDIR` 8300 type: "array" 8301 items: 8302 type: "string" 8303 - name: "platform" 8304 in: "query" 8305 description: | 8306 Platform in the format os[/arch[/variant]]. 8307 8308 When used in combination with the `fromImage` option, the daemon checks 8309 if the given image is present in the local image cache with the given 8310 OS and Architecture, and otherwise attempts to pull the image. If the 8311 option is not set, the host's native OS and Architecture are used. 8312 If the given image does not exist in the local image cache, the daemon 8313 attempts to pull the image with the host's native OS and Architecture. 8314 If the given image does exists in the local image cache, but its OS or 8315 architecture does not match, a warning is produced. 8316 8317 When used with the `fromSrc` option to import an image from an archive, 8318 this option sets the platform information for the imported image. If 8319 the option is not set, the host's native OS and Architecture are used 8320 for the imported image. 8321 type: "string" 8322 default: "" 8323 tags: ["Image"] 8324 /images/{name}/json: 8325 get: 8326 summary: "Inspect an image" 8327 description: "Return low-level information about an image." 8328 operationId: "ImageInspect" 8329 produces: 8330 - "application/json" 8331 responses: 8332 200: 8333 description: "No error" 8334 schema: 8335 $ref: "#/definitions/ImageInspect" 8336 404: 8337 description: "No such image" 8338 schema: 8339 $ref: "#/definitions/ErrorResponse" 8340 examples: 8341 application/json: 8342 message: "No such image: someimage (tag: latest)" 8343 500: 8344 description: "Server error" 8345 schema: 8346 $ref: "#/definitions/ErrorResponse" 8347 parameters: 8348 - name: "name" 8349 in: "path" 8350 description: "Image name or id" 8351 type: "string" 8352 required: true 8353 tags: ["Image"] 8354 /images/{name}/history: 8355 get: 8356 summary: "Get the history of an image" 8357 description: "Return parent layers of an image." 8358 operationId: "ImageHistory" 8359 produces: ["application/json"] 8360 responses: 8361 200: 8362 description: "List of image layers" 8363 schema: 8364 type: "array" 8365 items: 8366 type: "object" 8367 x-go-name: HistoryResponseItem 8368 title: "HistoryResponseItem" 8369 description: "individual image layer information in response to ImageHistory operation" 8370 required: [Id, Created, CreatedBy, Tags, Size, Comment] 8371 properties: 8372 Id: 8373 type: "string" 8374 x-nullable: false 8375 Created: 8376 type: "integer" 8377 format: "int64" 8378 x-nullable: false 8379 CreatedBy: 8380 type: "string" 8381 x-nullable: false 8382 Tags: 8383 type: "array" 8384 items: 8385 type: "string" 8386 Size: 8387 type: "integer" 8388 format: "int64" 8389 x-nullable: false 8390 Comment: 8391 type: "string" 8392 x-nullable: false 8393 examples: 8394 application/json: 8395 - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710" 8396 Created: 1398108230 8397 CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /" 8398 Tags: 8399 - "ubuntu:lucid" 8400 - "ubuntu:10.04" 8401 Size: 182964289 8402 Comment: "" 8403 - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8" 8404 Created: 1398108222 8405 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/" 8406 Tags: [] 8407 Size: 0 8408 Comment: "" 8409 - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158" 8410 Created: 1371157430 8411 CreatedBy: "" 8412 Tags: 8413 - "scratch12:latest" 8414 - "scratch:latest" 8415 Size: 0 8416 Comment: "Imported from -" 8417 404: 8418 description: "No such image" 8419 schema: 8420 $ref: "#/definitions/ErrorResponse" 8421 500: 8422 description: "Server error" 8423 schema: 8424 $ref: "#/definitions/ErrorResponse" 8425 parameters: 8426 - name: "name" 8427 in: "path" 8428 description: "Image name or ID" 8429 type: "string" 8430 required: true 8431 tags: ["Image"] 8432 /images/{name}/push: 8433 post: 8434 summary: "Push an image" 8435 description: | 8436 Push an image to a registry. 8437 8438 If you wish to push an image on to a private registry, that image must 8439 already have a tag which references the registry. For example, 8440 `registry.example.com/myimage:latest`. 8441 8442 The push is cancelled if the HTTP connection is closed. 8443 operationId: "ImagePush" 8444 consumes: 8445 - "application/octet-stream" 8446 responses: 8447 200: 8448 description: "No error" 8449 404: 8450 description: "No such image" 8451 schema: 8452 $ref: "#/definitions/ErrorResponse" 8453 500: 8454 description: "Server error" 8455 schema: 8456 $ref: "#/definitions/ErrorResponse" 8457 parameters: 8458 - name: "name" 8459 in: "path" 8460 description: "Image name or ID." 8461 type: "string" 8462 required: true 8463 - name: "tag" 8464 in: "query" 8465 description: "The tag to associate with the image on the registry." 8466 type: "string" 8467 - name: "X-Registry-Auth" 8468 in: "header" 8469 description: | 8470 A base64url-encoded auth configuration. 8471 8472 Refer to the [authentication section](#section/Authentication) for 8473 details. 8474 type: "string" 8475 required: true 8476 tags: ["Image"] 8477 /images/{name}/tag: 8478 post: 8479 summary: "Tag an image" 8480 description: "Tag an image so that it becomes part of a repository." 8481 operationId: "ImageTag" 8482 responses: 8483 201: 8484 description: "No error" 8485 400: 8486 description: "Bad parameter" 8487 schema: 8488 $ref: "#/definitions/ErrorResponse" 8489 404: 8490 description: "No such image" 8491 schema: 8492 $ref: "#/definitions/ErrorResponse" 8493 409: 8494 description: "Conflict" 8495 schema: 8496 $ref: "#/definitions/ErrorResponse" 8497 500: 8498 description: "Server error" 8499 schema: 8500 $ref: "#/definitions/ErrorResponse" 8501 parameters: 8502 - name: "name" 8503 in: "path" 8504 description: "Image name or ID to tag." 8505 type: "string" 8506 required: true 8507 - name: "repo" 8508 in: "query" 8509 description: "The repository to tag in. For example, `someuser/someimage`." 8510 type: "string" 8511 - name: "tag" 8512 in: "query" 8513 description: "The name of the new tag." 8514 type: "string" 8515 tags: ["Image"] 8516 /images/{name}: 8517 delete: 8518 summary: "Remove an image" 8519 description: | 8520 Remove an image, along with any untagged parent images that were 8521 referenced by that image. 8522 8523 Images can't be removed if they have descendant images, are being 8524 used by a running container or are being used by a build. 8525 operationId: "ImageDelete" 8526 produces: ["application/json"] 8527 responses: 8528 200: 8529 description: "The image was deleted successfully" 8530 schema: 8531 type: "array" 8532 items: 8533 $ref: "#/definitions/ImageDeleteResponseItem" 8534 examples: 8535 application/json: 8536 - Untagged: "3e2f21a89f" 8537 - Deleted: "3e2f21a89f" 8538 - Deleted: "53b4f83ac9" 8539 404: 8540 description: "No such image" 8541 schema: 8542 $ref: "#/definitions/ErrorResponse" 8543 409: 8544 description: "Conflict" 8545 schema: 8546 $ref: "#/definitions/ErrorResponse" 8547 500: 8548 description: "Server error" 8549 schema: 8550 $ref: "#/definitions/ErrorResponse" 8551 parameters: 8552 - name: "name" 8553 in: "path" 8554 description: "Image name or ID" 8555 type: "string" 8556 required: true 8557 - name: "force" 8558 in: "query" 8559 description: "Remove the image even if it is being used by stopped containers or has other tags" 8560 type: "boolean" 8561 default: false 8562 - name: "noprune" 8563 in: "query" 8564 description: "Do not delete untagged parent images" 8565 type: "boolean" 8566 default: false 8567 tags: ["Image"] 8568 /images/search: 8569 get: 8570 summary: "Search images" 8571 description: "Search for an image on Docker Hub." 8572 operationId: "ImageSearch" 8573 produces: 8574 - "application/json" 8575 responses: 8576 200: 8577 description: "No error" 8578 schema: 8579 type: "array" 8580 items: 8581 type: "object" 8582 title: "ImageSearchResponseItem" 8583 properties: 8584 description: 8585 type: "string" 8586 is_official: 8587 type: "boolean" 8588 is_automated: 8589 type: "boolean" 8590 name: 8591 type: "string" 8592 star_count: 8593 type: "integer" 8594 examples: 8595 application/json: 8596 - description: "" 8597 is_official: false 8598 is_automated: false 8599 name: "wma55/u1210sshd" 8600 star_count: 0 8601 - description: "" 8602 is_official: false 8603 is_automated: false 8604 name: "jdswinbank/sshd" 8605 star_count: 0 8606 - description: "" 8607 is_official: false 8608 is_automated: false 8609 name: "vgauthier/sshd" 8610 star_count: 0 8611 500: 8612 description: "Server error" 8613 schema: 8614 $ref: "#/definitions/ErrorResponse" 8615 parameters: 8616 - name: "term" 8617 in: "query" 8618 description: "Term to search" 8619 type: "string" 8620 required: true 8621 - name: "limit" 8622 in: "query" 8623 description: "Maximum number of results to return" 8624 type: "integer" 8625 - name: "filters" 8626 in: "query" 8627 description: | 8628 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: 8629 8630 - `is-automated=(true|false)` 8631 - `is-official=(true|false)` 8632 - `stars=<number>` Matches images that has at least 'number' stars. 8633 type: "string" 8634 tags: ["Image"] 8635 /images/prune: 8636 post: 8637 summary: "Delete unused images" 8638 produces: 8639 - "application/json" 8640 operationId: "ImagePrune" 8641 parameters: 8642 - name: "filters" 8643 in: "query" 8644 description: | 8645 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: 8646 8647 - `dangling=<boolean>` When set to `true` (or `1`), prune only 8648 unused *and* untagged images. When set to `false` 8649 (or `0`), all unused images are pruned. 8650 - `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. 8651 - `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. 8652 type: "string" 8653 responses: 8654 200: 8655 description: "No error" 8656 schema: 8657 type: "object" 8658 title: "ImagePruneResponse" 8659 properties: 8660 ImagesDeleted: 8661 description: "Images that were deleted" 8662 type: "array" 8663 items: 8664 $ref: "#/definitions/ImageDeleteResponseItem" 8665 SpaceReclaimed: 8666 description: "Disk space reclaimed in bytes" 8667 type: "integer" 8668 format: "int64" 8669 500: 8670 description: "Server error" 8671 schema: 8672 $ref: "#/definitions/ErrorResponse" 8673 tags: ["Image"] 8674 /auth: 8675 post: 8676 summary: "Check auth configuration" 8677 description: | 8678 Validate credentials for a registry and, if available, get an identity 8679 token for accessing the registry without password. 8680 operationId: "SystemAuth" 8681 consumes: ["application/json"] 8682 produces: ["application/json"] 8683 responses: 8684 200: 8685 description: "An identity token was generated successfully." 8686 schema: 8687 type: "object" 8688 title: "SystemAuthResponse" 8689 required: [Status] 8690 properties: 8691 Status: 8692 description: "The status of the authentication" 8693 type: "string" 8694 x-nullable: false 8695 IdentityToken: 8696 description: "An opaque token used to authenticate a user after a successful login" 8697 type: "string" 8698 x-nullable: false 8699 examples: 8700 application/json: 8701 Status: "Login Succeeded" 8702 IdentityToken: "9cbaf023786cd7..." 8703 204: 8704 description: "No error" 8705 401: 8706 description: "Auth error" 8707 schema: 8708 $ref: "#/definitions/ErrorResponse" 8709 500: 8710 description: "Server error" 8711 schema: 8712 $ref: "#/definitions/ErrorResponse" 8713 parameters: 8714 - name: "authConfig" 8715 in: "body" 8716 description: "Authentication to check" 8717 schema: 8718 $ref: "#/definitions/AuthConfig" 8719 tags: ["System"] 8720 /info: 8721 get: 8722 summary: "Get system information" 8723 operationId: "SystemInfo" 8724 produces: 8725 - "application/json" 8726 responses: 8727 200: 8728 description: "No error" 8729 schema: 8730 $ref: "#/definitions/SystemInfo" 8731 500: 8732 description: "Server error" 8733 schema: 8734 $ref: "#/definitions/ErrorResponse" 8735 tags: ["System"] 8736 /version: 8737 get: 8738 summary: "Get version" 8739 description: "Returns the version of Docker that is running and various information about the system that Docker is running on." 8740 operationId: "SystemVersion" 8741 produces: ["application/json"] 8742 responses: 8743 200: 8744 description: "no error" 8745 schema: 8746 $ref: "#/definitions/SystemVersion" 8747 500: 8748 description: "server error" 8749 schema: 8750 $ref: "#/definitions/ErrorResponse" 8751 tags: ["System"] 8752 /_ping: 8753 get: 8754 summary: "Ping" 8755 description: "This is a dummy endpoint you can use to test if the server is accessible." 8756 operationId: "SystemPing" 8757 produces: ["text/plain"] 8758 responses: 8759 200: 8760 description: "no error" 8761 schema: 8762 type: "string" 8763 example: "OK" 8764 headers: 8765 API-Version: 8766 type: "string" 8767 description: "Max API Version the server supports" 8768 Builder-Version: 8769 type: "string" 8770 description: | 8771 Default version of docker image builder 8772 8773 The default on Linux is version "2" (BuildKit), but the daemon 8774 can be configured to recommend version "1" (classic Builder). 8775 Windows does not yet support BuildKit for native Windows images, 8776 and uses "1" (classic builder) as a default. 8777 8778 This value is a recommendation as advertised by the daemon, and 8779 it is up to the client to choose which builder to use. 8780 default: "2" 8781 Docker-Experimental: 8782 type: "boolean" 8783 description: "If the server is running with experimental mode enabled" 8784 Swarm: 8785 type: "string" 8786 enum: ["inactive", "pending", "error", "locked", "active/worker", "active/manager"] 8787 description: | 8788 Contains information about Swarm status of the daemon, 8789 and if the daemon is acting as a manager or worker node. 8790 default: "inactive" 8791 Cache-Control: 8792 type: "string" 8793 default: "no-cache, no-store, must-revalidate" 8794 Pragma: 8795 type: "string" 8796 default: "no-cache" 8797 500: 8798 description: "server error" 8799 schema: 8800 $ref: "#/definitions/ErrorResponse" 8801 headers: 8802 Cache-Control: 8803 type: "string" 8804 default: "no-cache, no-store, must-revalidate" 8805 Pragma: 8806 type: "string" 8807 default: "no-cache" 8808 tags: ["System"] 8809 head: 8810 summary: "Ping" 8811 description: "This is a dummy endpoint you can use to test if the server is accessible." 8812 operationId: "SystemPingHead" 8813 produces: ["text/plain"] 8814 responses: 8815 200: 8816 description: "no error" 8817 schema: 8818 type: "string" 8819 example: "(empty)" 8820 headers: 8821 API-Version: 8822 type: "string" 8823 description: "Max API Version the server supports" 8824 Builder-Version: 8825 type: "string" 8826 description: "Default version of docker image builder" 8827 Docker-Experimental: 8828 type: "boolean" 8829 description: "If the server is running with experimental mode enabled" 8830 Swarm: 8831 type: "string" 8832 enum: ["inactive", "pending", "error", "locked", "active/worker", "active/manager"] 8833 description: | 8834 Contains information about Swarm status of the daemon, 8835 and if the daemon is acting as a manager or worker node. 8836 default: "inactive" 8837 Cache-Control: 8838 type: "string" 8839 default: "no-cache, no-store, must-revalidate" 8840 Pragma: 8841 type: "string" 8842 default: "no-cache" 8843 500: 8844 description: "server error" 8845 schema: 8846 $ref: "#/definitions/ErrorResponse" 8847 tags: ["System"] 8848 /commit: 8849 post: 8850 summary: "Create a new image from a container" 8851 operationId: "ImageCommit" 8852 consumes: 8853 - "application/json" 8854 produces: 8855 - "application/json" 8856 responses: 8857 201: 8858 description: "no error" 8859 schema: 8860 $ref: "#/definitions/IdResponse" 8861 404: 8862 description: "no such container" 8863 schema: 8864 $ref: "#/definitions/ErrorResponse" 8865 examples: 8866 application/json: 8867 message: "No such container: c2ada9df5af8" 8868 500: 8869 description: "server error" 8870 schema: 8871 $ref: "#/definitions/ErrorResponse" 8872 parameters: 8873 - name: "containerConfig" 8874 in: "body" 8875 description: "The container configuration" 8876 schema: 8877 $ref: "#/definitions/ContainerConfig" 8878 - name: "container" 8879 in: "query" 8880 description: "The ID or name of the container to commit" 8881 type: "string" 8882 - name: "repo" 8883 in: "query" 8884 description: "Repository name for the created image" 8885 type: "string" 8886 - name: "tag" 8887 in: "query" 8888 description: "Tag name for the create image" 8889 type: "string" 8890 - name: "comment" 8891 in: "query" 8892 description: "Commit message" 8893 type: "string" 8894 - name: "author" 8895 in: "query" 8896 description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)" 8897 type: "string" 8898 - name: "pause" 8899 in: "query" 8900 description: "Whether to pause the container before committing" 8901 type: "boolean" 8902 default: true 8903 - name: "changes" 8904 in: "query" 8905 description: "`Dockerfile` instructions to apply while committing" 8906 type: "string" 8907 tags: ["Image"] 8908 /events: 8909 get: 8910 summary: "Monitor events" 8911 description: | 8912 Stream real-time events from the server. 8913 8914 Various objects within Docker report events when something happens to them. 8915 8916 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` 8917 8918 Images report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, `untag`, and `prune` 8919 8920 Volumes report these events: `create`, `mount`, `unmount`, `destroy`, and `prune` 8921 8922 Networks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, `remove`, and `prune` 8923 8924 The Docker daemon reports these events: `reload` 8925 8926 Services report these events: `create`, `update`, and `remove` 8927 8928 Nodes report these events: `create`, `update`, and `remove` 8929 8930 Secrets report these events: `create`, `update`, and `remove` 8931 8932 Configs report these events: `create`, `update`, and `remove` 8933 8934 The Builder reports `prune` events 8935 8936 operationId: "SystemEvents" 8937 produces: 8938 - "application/json" 8939 responses: 8940 200: 8941 description: "no error" 8942 schema: 8943 $ref: "#/definitions/EventMessage" 8944 400: 8945 description: "bad parameter" 8946 schema: 8947 $ref: "#/definitions/ErrorResponse" 8948 500: 8949 description: "server error" 8950 schema: 8951 $ref: "#/definitions/ErrorResponse" 8952 parameters: 8953 - name: "since" 8954 in: "query" 8955 description: "Show events created since this timestamp then stream new events." 8956 type: "string" 8957 - name: "until" 8958 in: "query" 8959 description: "Show events created until this timestamp then stop streaming." 8960 type: "string" 8961 - name: "filters" 8962 in: "query" 8963 description: | 8964 A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters: 8965 8966 - `config=<string>` config name or ID 8967 - `container=<string>` container name or ID 8968 - `daemon=<string>` daemon name or ID 8969 - `event=<string>` event type 8970 - `image=<string>` image name or ID 8971 - `label=<string>` image or container label 8972 - `network=<string>` network name or ID 8973 - `node=<string>` node ID 8974 - `plugin`=<string> plugin name or ID 8975 - `scope`=<string> local or swarm 8976 - `secret=<string>` secret name or ID 8977 - `service=<string>` service name or ID 8978 - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config` 8979 - `volume=<string>` volume name 8980 type: "string" 8981 tags: ["System"] 8982 /system/df: 8983 get: 8984 summary: "Get data usage information" 8985 operationId: "SystemDataUsage" 8986 responses: 8987 200: 8988 description: "no error" 8989 schema: 8990 type: "object" 8991 title: "SystemDataUsageResponse" 8992 properties: 8993 LayersSize: 8994 type: "integer" 8995 format: "int64" 8996 Images: 8997 type: "array" 8998 items: 8999 $ref: "#/definitions/ImageSummary" 9000 Containers: 9001 type: "array" 9002 items: 9003 $ref: "#/definitions/ContainerSummary" 9004 Volumes: 9005 type: "array" 9006 items: 9007 $ref: "#/definitions/Volume" 9008 BuildCache: 9009 type: "array" 9010 items: 9011 $ref: "#/definitions/BuildCache" 9012 example: 9013 LayersSize: 1092588 9014 Images: 9015 - 9016 Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 9017 ParentId: "" 9018 RepoTags: 9019 - "busybox:latest" 9020 RepoDigests: 9021 - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" 9022 Created: 1466724217 9023 Size: 1092588 9024 SharedSize: 0 9025 VirtualSize: 1092588 9026 Labels: {} 9027 Containers: 1 9028 Containers: 9029 - 9030 Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148" 9031 Names: 9032 - "/top" 9033 Image: "busybox" 9034 ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 9035 Command: "top" 9036 Created: 1472592424 9037 Ports: [] 9038 SizeRootFs: 1092588 9039 Labels: {} 9040 State: "exited" 9041 Status: "Exited (0) 56 minutes ago" 9042 HostConfig: 9043 NetworkMode: "default" 9044 NetworkSettings: 9045 Networks: 9046 bridge: 9047 IPAMConfig: null 9048 Links: null 9049 Aliases: null 9050 NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92" 9051 EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a" 9052 Gateway: "172.18.0.1" 9053 IPAddress: "172.18.0.2" 9054 IPPrefixLen: 16 9055 IPv6Gateway: "" 9056 GlobalIPv6Address: "" 9057 GlobalIPv6PrefixLen: 0 9058 MacAddress: "02:42:ac:12:00:02" 9059 Mounts: [] 9060 Volumes: 9061 - 9062 Name: "my-volume" 9063 Driver: "local" 9064 Mountpoint: "/var/lib/docker/volumes/my-volume/_data" 9065 Labels: null 9066 Scope: "local" 9067 Options: null 9068 UsageData: 9069 Size: 10920104 9070 RefCount: 2 9071 BuildCache: 9072 - 9073 ID: "hw53o5aio51xtltp5xjp8v7fx" 9074 Parents: [] 9075 Type: "regular" 9076 Description: "pulled from docker.io/library/debian@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0" 9077 InUse: false 9078 Shared: true 9079 Size: 0 9080 CreatedAt: "2021-06-28T13:31:01.474619385Z" 9081 LastUsedAt: "2021-07-07T22:02:32.738075951Z" 9082 UsageCount: 26 9083 - 9084 ID: "ndlpt0hhvkqcdfkputsk4cq9c" 9085 Parents: ["ndlpt0hhvkqcdfkputsk4cq9c"] 9086 Type: "regular" 9087 Description: "mount / from exec /bin/sh -c echo 'Binary::apt::APT::Keep-Downloaded-Packages \"true\";' > /etc/apt/apt.conf.d/keep-cache" 9088 InUse: false 9089 Shared: true 9090 Size: 51 9091 CreatedAt: "2021-06-28T13:31:03.002625487Z" 9092 LastUsedAt: "2021-07-07T22:02:32.773909517Z" 9093 UsageCount: 26 9094 500: 9095 description: "server error" 9096 schema: 9097 $ref: "#/definitions/ErrorResponse" 9098 parameters: 9099 - name: "type" 9100 in: "query" 9101 description: | 9102 Object types, for which to compute and return data. 9103 type: "array" 9104 collectionFormat: multi 9105 items: 9106 type: "string" 9107 enum: ["container", "image", "volume", "build-cache"] 9108 tags: ["System"] 9109 /images/{name}/get: 9110 get: 9111 summary: "Export an image" 9112 description: | 9113 Get a tarball containing all images and metadata for a repository. 9114 9115 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. 9116 9117 ### Image tarball format 9118 9119 An image tarball contains one directory per image layer (named using its long ID), each containing these files: 9120 9121 - `VERSION`: currently `1.0` - the file format version 9122 - `json`: detailed layer information, similar to `docker inspect layer_id` 9123 - `layer.tar`: A tarfile containing the filesystem changes in this layer 9124 9125 The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions. 9126 9127 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. 9128 9129 ```json 9130 { 9131 "hello-world": { 9132 "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1" 9133 } 9134 } 9135 ``` 9136 operationId: "ImageGet" 9137 produces: 9138 - "application/x-tar" 9139 responses: 9140 200: 9141 description: "no error" 9142 schema: 9143 type: "string" 9144 format: "binary" 9145 500: 9146 description: "server error" 9147 schema: 9148 $ref: "#/definitions/ErrorResponse" 9149 parameters: 9150 - name: "name" 9151 in: "path" 9152 description: "Image name or ID" 9153 type: "string" 9154 required: true 9155 tags: ["Image"] 9156 /images/get: 9157 get: 9158 summary: "Export several images" 9159 description: | 9160 Get a tarball containing all images and metadata for several image 9161 repositories. 9162 9163 For each value of the `names` parameter: if it is a specific name and 9164 tag (e.g. `ubuntu:latest`), then only that image (and its parents) are 9165 returned; if it is an image ID, similarly only that image (and its parents) 9166 are returned and there would be no names referenced in the 'repositories' 9167 file for this image ID. 9168 9169 For details on the format, see the [export image endpoint](#operation/ImageGet). 9170 operationId: "ImageGetAll" 9171 produces: 9172 - "application/x-tar" 9173 responses: 9174 200: 9175 description: "no error" 9176 schema: 9177 type: "string" 9178 format: "binary" 9179 500: 9180 description: "server error" 9181 schema: 9182 $ref: "#/definitions/ErrorResponse" 9183 parameters: 9184 - name: "names" 9185 in: "query" 9186 description: "Image names to filter by" 9187 type: "array" 9188 items: 9189 type: "string" 9190 tags: ["Image"] 9191 /images/load: 9192 post: 9193 summary: "Import images" 9194 description: | 9195 Load a set of images and tags into a repository. 9196 9197 For details on the format, see the [export image endpoint](#operation/ImageGet). 9198 operationId: "ImageLoad" 9199 consumes: 9200 - "application/x-tar" 9201 produces: 9202 - "application/json" 9203 responses: 9204 200: 9205 description: "no error" 9206 500: 9207 description: "server error" 9208 schema: 9209 $ref: "#/definitions/ErrorResponse" 9210 parameters: 9211 - name: "imagesTarball" 9212 in: "body" 9213 description: "Tar archive containing images" 9214 schema: 9215 type: "string" 9216 format: "binary" 9217 - name: "quiet" 9218 in: "query" 9219 description: "Suppress progress details during load." 9220 type: "boolean" 9221 default: false 9222 tags: ["Image"] 9223 /containers/{id}/exec: 9224 post: 9225 summary: "Create an exec instance" 9226 description: "Run a command inside a running container." 9227 operationId: "ContainerExec" 9228 consumes: 9229 - "application/json" 9230 produces: 9231 - "application/json" 9232 responses: 9233 201: 9234 description: "no error" 9235 schema: 9236 $ref: "#/definitions/IdResponse" 9237 404: 9238 description: "no such container" 9239 schema: 9240 $ref: "#/definitions/ErrorResponse" 9241 examples: 9242 application/json: 9243 message: "No such container: c2ada9df5af8" 9244 409: 9245 description: "container is paused" 9246 schema: 9247 $ref: "#/definitions/ErrorResponse" 9248 500: 9249 description: "Server error" 9250 schema: 9251 $ref: "#/definitions/ErrorResponse" 9252 parameters: 9253 - name: "execConfig" 9254 in: "body" 9255 description: "Exec configuration" 9256 schema: 9257 type: "object" 9258 title: "ExecConfig" 9259 properties: 9260 AttachStdin: 9261 type: "boolean" 9262 description: "Attach to `stdin` of the exec command." 9263 AttachStdout: 9264 type: "boolean" 9265 description: "Attach to `stdout` of the exec command." 9266 AttachStderr: 9267 type: "boolean" 9268 description: "Attach to `stderr` of the exec command." 9269 ConsoleSize: 9270 type: "array" 9271 description: "Initial console size, as an `[height, width]` array." 9272 x-nullable: true 9273 minItems: 2 9274 maxItems: 2 9275 items: 9276 type: "integer" 9277 minimum: 0 9278 DetachKeys: 9279 type: "string" 9280 description: | 9281 Override the key sequence for detaching a container. Format is 9282 a single character `[a-Z]` or `ctrl-<value>` where `<value>` 9283 is one of: `a-z`, `@`, `^`, `[`, `,` or `_`. 9284 Tty: 9285 type: "boolean" 9286 description: "Allocate a pseudo-TTY." 9287 Env: 9288 description: | 9289 A list of environment variables in the form `["VAR=value", ...]`. 9290 type: "array" 9291 items: 9292 type: "string" 9293 Cmd: 9294 type: "array" 9295 description: "Command to run, as a string or array of strings." 9296 items: 9297 type: "string" 9298 Privileged: 9299 type: "boolean" 9300 description: "Runs the exec process with extended privileges." 9301 default: false 9302 User: 9303 type: "string" 9304 description: | 9305 The user, and optionally, group to run the exec process inside 9306 the container. Format is one of: `user`, `user:group`, `uid`, 9307 or `uid:gid`. 9308 WorkingDir: 9309 type: "string" 9310 description: | 9311 The working directory for the exec process inside the container. 9312 example: 9313 AttachStdin: false 9314 AttachStdout: true 9315 AttachStderr: true 9316 DetachKeys: "ctrl-p,ctrl-q" 9317 Tty: false 9318 Cmd: 9319 - "date" 9320 Env: 9321 - "FOO=bar" 9322 - "BAZ=quux" 9323 required: true 9324 - name: "id" 9325 in: "path" 9326 description: "ID or name of container" 9327 type: "string" 9328 required: true 9329 tags: ["Exec"] 9330 /exec/{id}/start: 9331 post: 9332 summary: "Start an exec instance" 9333 description: | 9334 Starts a previously set up exec instance. If detach is true, this endpoint 9335 returns immediately after starting the command. Otherwise, it sets up an 9336 interactive session with the command. 9337 operationId: "ExecStart" 9338 consumes: 9339 - "application/json" 9340 produces: 9341 - "application/vnd.docker.raw-stream" 9342 - "application/vnd.docker.multiplexed-stream" 9343 responses: 9344 200: 9345 description: "No error" 9346 404: 9347 description: "No such exec instance" 9348 schema: 9349 $ref: "#/definitions/ErrorResponse" 9350 409: 9351 description: "Container is stopped or paused" 9352 schema: 9353 $ref: "#/definitions/ErrorResponse" 9354 parameters: 9355 - name: "execStartConfig" 9356 in: "body" 9357 schema: 9358 type: "object" 9359 title: "ExecStartConfig" 9360 properties: 9361 Detach: 9362 type: "boolean" 9363 description: "Detach from the command." 9364 Tty: 9365 type: "boolean" 9366 description: "Allocate a pseudo-TTY." 9367 ConsoleSize: 9368 type: "array" 9369 description: "Initial console size, as an `[height, width]` array." 9370 x-nullable: true 9371 minItems: 2 9372 maxItems: 2 9373 items: 9374 type: "integer" 9375 minimum: 0 9376 example: 9377 Detach: false 9378 Tty: true 9379 ConsoleSize: [80, 64] 9380 - name: "id" 9381 in: "path" 9382 description: "Exec instance ID" 9383 required: true 9384 type: "string" 9385 tags: ["Exec"] 9386 /exec/{id}/resize: 9387 post: 9388 summary: "Resize an exec instance" 9389 description: | 9390 Resize the TTY session used by an exec instance. This endpoint only works 9391 if `tty` was specified as part of creating and starting the exec instance. 9392 operationId: "ExecResize" 9393 responses: 9394 200: 9395 description: "No error" 9396 400: 9397 description: "bad parameter" 9398 schema: 9399 $ref: "#/definitions/ErrorResponse" 9400 404: 9401 description: "No such exec instance" 9402 schema: 9403 $ref: "#/definitions/ErrorResponse" 9404 500: 9405 description: "Server error" 9406 schema: 9407 $ref: "#/definitions/ErrorResponse" 9408 parameters: 9409 - name: "id" 9410 in: "path" 9411 description: "Exec instance ID" 9412 required: true 9413 type: "string" 9414 - name: "h" 9415 in: "query" 9416 description: "Height of the TTY session in characters" 9417 type: "integer" 9418 - name: "w" 9419 in: "query" 9420 description: "Width of the TTY session in characters" 9421 type: "integer" 9422 tags: ["Exec"] 9423 /exec/{id}/json: 9424 get: 9425 summary: "Inspect an exec instance" 9426 description: "Return low-level information about an exec instance." 9427 operationId: "ExecInspect" 9428 produces: 9429 - "application/json" 9430 responses: 9431 200: 9432 description: "No error" 9433 schema: 9434 type: "object" 9435 title: "ExecInspectResponse" 9436 properties: 9437 CanRemove: 9438 type: "boolean" 9439 DetachKeys: 9440 type: "string" 9441 ID: 9442 type: "string" 9443 Running: 9444 type: "boolean" 9445 ExitCode: 9446 type: "integer" 9447 ProcessConfig: 9448 $ref: "#/definitions/ProcessConfig" 9449 OpenStdin: 9450 type: "boolean" 9451 OpenStderr: 9452 type: "boolean" 9453 OpenStdout: 9454 type: "boolean" 9455 ContainerID: 9456 type: "string" 9457 Pid: 9458 type: "integer" 9459 description: "The system process ID for the exec process." 9460 examples: 9461 application/json: 9462 CanRemove: false 9463 ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126" 9464 DetachKeys: "" 9465 ExitCode: 2 9466 ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b" 9467 OpenStderr: true 9468 OpenStdin: true 9469 OpenStdout: true 9470 ProcessConfig: 9471 arguments: 9472 - "-c" 9473 - "exit 2" 9474 entrypoint: "sh" 9475 privileged: false 9476 tty: true 9477 user: "1000" 9478 Running: false 9479 Pid: 42000 9480 404: 9481 description: "No such exec instance" 9482 schema: 9483 $ref: "#/definitions/ErrorResponse" 9484 500: 9485 description: "Server error" 9486 schema: 9487 $ref: "#/definitions/ErrorResponse" 9488 parameters: 9489 - name: "id" 9490 in: "path" 9491 description: "Exec instance ID" 9492 required: true 9493 type: "string" 9494 tags: ["Exec"] 9495 9496 /volumes: 9497 get: 9498 summary: "List volumes" 9499 operationId: "VolumeList" 9500 produces: ["application/json"] 9501 responses: 9502 200: 9503 description: "Summary volume data that matches the query" 9504 schema: 9505 $ref: "#/definitions/VolumeListResponse" 9506 500: 9507 description: "Server error" 9508 schema: 9509 $ref: "#/definitions/ErrorResponse" 9510 parameters: 9511 - name: "filters" 9512 in: "query" 9513 description: | 9514 JSON encoded value of the filters (a `map[string][]string`) to 9515 process on the volumes list. Available filters: 9516 9517 - `dangling=<boolean>` When set to `true` (or `1`), returns all 9518 volumes that are not in use by a container. When set to `false` 9519 (or `0`), only volumes that are in use by one or more 9520 containers are returned. 9521 - `driver=<volume-driver-name>` Matches volumes based on their driver. 9522 - `label=<key>` or `label=<key>:<value>` Matches volumes based on 9523 the presence of a `label` alone or a `label` and a value. 9524 - `name=<volume-name>` Matches all or part of a volume name. 9525 type: "string" 9526 format: "json" 9527 tags: ["Volume"] 9528 9529 /volumes/create: 9530 post: 9531 summary: "Create a volume" 9532 operationId: "VolumeCreate" 9533 consumes: ["application/json"] 9534 produces: ["application/json"] 9535 responses: 9536 201: 9537 description: "The volume was created successfully" 9538 schema: 9539 $ref: "#/definitions/Volume" 9540 500: 9541 description: "Server error" 9542 schema: 9543 $ref: "#/definitions/ErrorResponse" 9544 parameters: 9545 - name: "volumeConfig" 9546 in: "body" 9547 required: true 9548 description: "Volume configuration" 9549 schema: 9550 $ref: "#/definitions/VolumeCreateOptions" 9551 tags: ["Volume"] 9552 9553 /volumes/{name}: 9554 get: 9555 summary: "Inspect a volume" 9556 operationId: "VolumeInspect" 9557 produces: ["application/json"] 9558 responses: 9559 200: 9560 description: "No error" 9561 schema: 9562 $ref: "#/definitions/Volume" 9563 404: 9564 description: "No such volume" 9565 schema: 9566 $ref: "#/definitions/ErrorResponse" 9567 500: 9568 description: "Server error" 9569 schema: 9570 $ref: "#/definitions/ErrorResponse" 9571 parameters: 9572 - name: "name" 9573 in: "path" 9574 required: true 9575 description: "Volume name or ID" 9576 type: "string" 9577 tags: ["Volume"] 9578 9579 put: 9580 summary: | 9581 "Update a volume. Valid only for Swarm cluster volumes" 9582 operationId: "VolumeUpdate" 9583 consumes: ["application/json"] 9584 produces: ["application/json"] 9585 responses: 9586 200: 9587 description: "no error" 9588 400: 9589 description: "bad parameter" 9590 schema: 9591 $ref: "#/definitions/ErrorResponse" 9592 404: 9593 description: "no such volume" 9594 schema: 9595 $ref: "#/definitions/ErrorResponse" 9596 500: 9597 description: "server error" 9598 schema: 9599 $ref: "#/definitions/ErrorResponse" 9600 503: 9601 description: "node is not part of a swarm" 9602 schema: 9603 $ref: "#/definitions/ErrorResponse" 9604 parameters: 9605 - name: "name" 9606 in: "path" 9607 description: "The name or ID of the volume" 9608 type: "string" 9609 required: true 9610 - name: "body" 9611 in: "body" 9612 schema: 9613 # though the schema for is an object that contains only a 9614 # ClusterVolumeSpec, wrapping the ClusterVolumeSpec in this object 9615 # means that if, later on, we support things like changing the 9616 # labels, we can do so without duplicating that information to the 9617 # ClusterVolumeSpec. 9618 type: "object" 9619 description: "Volume configuration" 9620 properties: 9621 Spec: 9622 $ref: "#/definitions/ClusterVolumeSpec" 9623 description: | 9624 The spec of the volume to update. Currently, only Availability may 9625 change. All other fields must remain unchanged. 9626 - name: "version" 9627 in: "query" 9628 description: | 9629 The version number of the volume being updated. This is required to 9630 avoid conflicting writes. Found in the volume's `ClusterVolume` 9631 field. 9632 type: "integer" 9633 format: "int64" 9634 required: true 9635 tags: ["Volume"] 9636 9637 delete: 9638 summary: "Remove a volume" 9639 description: "Instruct the driver to remove the volume." 9640 operationId: "VolumeDelete" 9641 responses: 9642 204: 9643 description: "The volume was removed" 9644 404: 9645 description: "No such volume or volume driver" 9646 schema: 9647 $ref: "#/definitions/ErrorResponse" 9648 409: 9649 description: "Volume is in use and cannot be removed" 9650 schema: 9651 $ref: "#/definitions/ErrorResponse" 9652 500: 9653 description: "Server error" 9654 schema: 9655 $ref: "#/definitions/ErrorResponse" 9656 parameters: 9657 - name: "name" 9658 in: "path" 9659 required: true 9660 description: "Volume name or ID" 9661 type: "string" 9662 - name: "force" 9663 in: "query" 9664 description: "Force the removal of the volume" 9665 type: "boolean" 9666 default: false 9667 tags: ["Volume"] 9668 9669 /volumes/prune: 9670 post: 9671 summary: "Delete unused volumes" 9672 produces: 9673 - "application/json" 9674 operationId: "VolumePrune" 9675 parameters: 9676 - name: "filters" 9677 in: "query" 9678 description: | 9679 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 9680 9681 Available filters: 9682 - `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. 9683 - `all` (`all=true`) - Consider all (local) volumes for pruning and not just anonymous volumes. 9684 type: "string" 9685 responses: 9686 200: 9687 description: "No error" 9688 schema: 9689 type: "object" 9690 title: "VolumePruneResponse" 9691 properties: 9692 VolumesDeleted: 9693 description: "Volumes that were deleted" 9694 type: "array" 9695 items: 9696 type: "string" 9697 SpaceReclaimed: 9698 description: "Disk space reclaimed in bytes" 9699 type: "integer" 9700 format: "int64" 9701 500: 9702 description: "Server error" 9703 schema: 9704 $ref: "#/definitions/ErrorResponse" 9705 tags: ["Volume"] 9706 /networks: 9707 get: 9708 summary: "List networks" 9709 description: | 9710 Returns a list of networks. For details on the format, see the 9711 [network inspect endpoint](#operation/NetworkInspect). 9712 9713 Note that it uses a different, smaller representation of a network than 9714 inspecting a single network. For example, the list of containers attached 9715 to the network is not propagated in API versions 1.28 and up. 9716 operationId: "NetworkList" 9717 produces: 9718 - "application/json" 9719 responses: 9720 200: 9721 description: "No error" 9722 schema: 9723 type: "array" 9724 items: 9725 $ref: "#/definitions/Network" 9726 examples: 9727 application/json: 9728 - Name: "bridge" 9729 Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566" 9730 Created: "2016-10-19T06:21:00.416543526Z" 9731 Scope: "local" 9732 Driver: "bridge" 9733 EnableIPv6: false 9734 Internal: false 9735 Attachable: false 9736 Ingress: false 9737 IPAM: 9738 Driver: "default" 9739 Config: 9740 - 9741 Subnet: "172.17.0.0/16" 9742 Options: 9743 com.docker.network.bridge.default_bridge: "true" 9744 com.docker.network.bridge.enable_icc: "true" 9745 com.docker.network.bridge.enable_ip_masquerade: "true" 9746 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 9747 com.docker.network.bridge.name: "docker0" 9748 com.docker.network.driver.mtu: "1500" 9749 - Name: "none" 9750 Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794" 9751 Created: "0001-01-01T00:00:00Z" 9752 Scope: "local" 9753 Driver: "null" 9754 EnableIPv6: false 9755 Internal: false 9756 Attachable: false 9757 Ingress: false 9758 IPAM: 9759 Driver: "default" 9760 Config: [] 9761 Containers: {} 9762 Options: {} 9763 - Name: "host" 9764 Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e" 9765 Created: "0001-01-01T00:00:00Z" 9766 Scope: "local" 9767 Driver: "host" 9768 EnableIPv6: false 9769 Internal: false 9770 Attachable: false 9771 Ingress: false 9772 IPAM: 9773 Driver: "default" 9774 Config: [] 9775 Containers: {} 9776 Options: {} 9777 500: 9778 description: "Server error" 9779 schema: 9780 $ref: "#/definitions/ErrorResponse" 9781 parameters: 9782 - name: "filters" 9783 in: "query" 9784 description: | 9785 JSON encoded value of the filters (a `map[string][]string`) to process 9786 on the networks list. 9787 9788 Available filters: 9789 9790 - `dangling=<boolean>` When set to `true` (or `1`), returns all 9791 networks that are not in use by a container. When set to `false` 9792 (or `0`), only networks that are in use by one or more 9793 containers are returned. 9794 - `driver=<driver-name>` Matches a network's driver. 9795 - `id=<network-id>` Matches all or part of a network ID. 9796 - `label=<key>` or `label=<key>=<value>` of a network label. 9797 - `name=<network-name>` Matches all or part of a network name. 9798 - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`). 9799 - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. 9800 type: "string" 9801 tags: ["Network"] 9802 9803 /networks/{id}: 9804 get: 9805 summary: "Inspect a network" 9806 operationId: "NetworkInspect" 9807 produces: 9808 - "application/json" 9809 responses: 9810 200: 9811 description: "No error" 9812 schema: 9813 $ref: "#/definitions/Network" 9814 404: 9815 description: "Network not found" 9816 schema: 9817 $ref: "#/definitions/ErrorResponse" 9818 500: 9819 description: "Server error" 9820 schema: 9821 $ref: "#/definitions/ErrorResponse" 9822 parameters: 9823 - name: "id" 9824 in: "path" 9825 description: "Network ID or name" 9826 required: true 9827 type: "string" 9828 - name: "verbose" 9829 in: "query" 9830 description: "Detailed inspect output for troubleshooting" 9831 type: "boolean" 9832 default: false 9833 - name: "scope" 9834 in: "query" 9835 description: "Filter the network by scope (swarm, global, or local)" 9836 type: "string" 9837 tags: ["Network"] 9838 9839 delete: 9840 summary: "Remove a network" 9841 operationId: "NetworkDelete" 9842 responses: 9843 204: 9844 description: "No error" 9845 403: 9846 description: "operation not supported for pre-defined networks" 9847 schema: 9848 $ref: "#/definitions/ErrorResponse" 9849 404: 9850 description: "no such network" 9851 schema: 9852 $ref: "#/definitions/ErrorResponse" 9853 500: 9854 description: "Server error" 9855 schema: 9856 $ref: "#/definitions/ErrorResponse" 9857 parameters: 9858 - name: "id" 9859 in: "path" 9860 description: "Network ID or name" 9861 required: true 9862 type: "string" 9863 tags: ["Network"] 9864 9865 /networks/create: 9866 post: 9867 summary: "Create a network" 9868 operationId: "NetworkCreate" 9869 consumes: 9870 - "application/json" 9871 produces: 9872 - "application/json" 9873 responses: 9874 201: 9875 description: "No error" 9876 schema: 9877 type: "object" 9878 title: "NetworkCreateResponse" 9879 properties: 9880 Id: 9881 description: "The ID of the created network." 9882 type: "string" 9883 Warning: 9884 type: "string" 9885 example: 9886 Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30" 9887 Warning: "" 9888 400: 9889 description: "bad parameter" 9890 schema: 9891 $ref: "#/definitions/ErrorResponse" 9892 403: 9893 description: "operation not supported for pre-defined networks" 9894 schema: 9895 $ref: "#/definitions/ErrorResponse" 9896 404: 9897 description: "plugin not found" 9898 schema: 9899 $ref: "#/definitions/ErrorResponse" 9900 500: 9901 description: "Server error" 9902 schema: 9903 $ref: "#/definitions/ErrorResponse" 9904 parameters: 9905 - name: "networkConfig" 9906 in: "body" 9907 description: "Network configuration" 9908 required: true 9909 schema: 9910 type: "object" 9911 title: "NetworkCreateRequest" 9912 required: ["Name"] 9913 properties: 9914 Name: 9915 description: "The network's name." 9916 type: "string" 9917 CheckDuplicate: 9918 description: | 9919 Check for networks with duplicate names. Since Network is 9920 primarily keyed based on a random ID and not on the name, and 9921 network name is strictly a user-friendly alias to the network 9922 which is uniquely identified using ID, there is no guaranteed 9923 way to check for duplicates. CheckDuplicate is there to provide 9924 a best effort checking of any networks which has the same name 9925 but it is not guaranteed to catch all name collisions. 9926 type: "boolean" 9927 Driver: 9928 description: "Name of the network driver plugin to use." 9929 type: "string" 9930 default: "bridge" 9931 Internal: 9932 description: "Restrict external access to the network." 9933 type: "boolean" 9934 Attachable: 9935 description: | 9936 Globally scoped network is manually attachable by regular 9937 containers from workers in swarm mode. 9938 type: "boolean" 9939 Ingress: 9940 description: | 9941 Ingress network is the network which provides the routing-mesh 9942 in swarm mode. 9943 type: "boolean" 9944 IPAM: 9945 description: "Optional custom IP scheme for the network." 9946 $ref: "#/definitions/IPAM" 9947 EnableIPv6: 9948 description: "Enable IPv6 on the network." 9949 type: "boolean" 9950 Options: 9951 description: "Network specific options to be used by the drivers." 9952 type: "object" 9953 additionalProperties: 9954 type: "string" 9955 Labels: 9956 description: "User-defined key/value metadata." 9957 type: "object" 9958 additionalProperties: 9959 type: "string" 9960 example: 9961 Name: "isolated_nw" 9962 CheckDuplicate: false 9963 Driver: "bridge" 9964 EnableIPv6: true 9965 IPAM: 9966 Driver: "default" 9967 Config: 9968 - Subnet: "172.20.0.0/16" 9969 IPRange: "172.20.10.0/24" 9970 Gateway: "172.20.10.11" 9971 - Subnet: "2001:db8:abcd::/64" 9972 Gateway: "2001:db8:abcd::1011" 9973 Options: 9974 foo: "bar" 9975 Internal: true 9976 Attachable: false 9977 Ingress: false 9978 Options: 9979 com.docker.network.bridge.default_bridge: "true" 9980 com.docker.network.bridge.enable_icc: "true" 9981 com.docker.network.bridge.enable_ip_masquerade: "true" 9982 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 9983 com.docker.network.bridge.name: "docker0" 9984 com.docker.network.driver.mtu: "1500" 9985 Labels: 9986 com.example.some-label: "some-value" 9987 com.example.some-other-label: "some-other-value" 9988 tags: ["Network"] 9989 9990 /networks/{id}/connect: 9991 post: 9992 summary: "Connect a container to a network" 9993 operationId: "NetworkConnect" 9994 consumes: 9995 - "application/json" 9996 responses: 9997 200: 9998 description: "No error" 9999 403: 10000 description: "Operation not supported for swarm scoped networks" 10001 schema: 10002 $ref: "#/definitions/ErrorResponse" 10003 404: 10004 description: "Network or container not found" 10005 schema: 10006 $ref: "#/definitions/ErrorResponse" 10007 500: 10008 description: "Server error" 10009 schema: 10010 $ref: "#/definitions/ErrorResponse" 10011 parameters: 10012 - name: "id" 10013 in: "path" 10014 description: "Network ID or name" 10015 required: true 10016 type: "string" 10017 - name: "container" 10018 in: "body" 10019 required: true 10020 schema: 10021 type: "object" 10022 title: "NetworkConnectRequest" 10023 properties: 10024 Container: 10025 type: "string" 10026 description: "The ID or name of the container to connect to the network." 10027 EndpointConfig: 10028 $ref: "#/definitions/EndpointSettings" 10029 example: 10030 Container: "3613f73ba0e4" 10031 EndpointConfig: 10032 IPAMConfig: 10033 IPv4Address: "172.24.56.89" 10034 IPv6Address: "2001:db8::5689" 10035 tags: ["Network"] 10036 10037 /networks/{id}/disconnect: 10038 post: 10039 summary: "Disconnect a container from a network" 10040 operationId: "NetworkDisconnect" 10041 consumes: 10042 - "application/json" 10043 responses: 10044 200: 10045 description: "No error" 10046 403: 10047 description: "Operation not supported for swarm scoped networks" 10048 schema: 10049 $ref: "#/definitions/ErrorResponse" 10050 404: 10051 description: "Network or container not found" 10052 schema: 10053 $ref: "#/definitions/ErrorResponse" 10054 500: 10055 description: "Server error" 10056 schema: 10057 $ref: "#/definitions/ErrorResponse" 10058 parameters: 10059 - name: "id" 10060 in: "path" 10061 description: "Network ID or name" 10062 required: true 10063 type: "string" 10064 - name: "container" 10065 in: "body" 10066 required: true 10067 schema: 10068 type: "object" 10069 title: "NetworkDisconnectRequest" 10070 properties: 10071 Container: 10072 type: "string" 10073 description: | 10074 The ID or name of the container to disconnect from the network. 10075 Force: 10076 type: "boolean" 10077 description: | 10078 Force the container to disconnect from the network. 10079 tags: ["Network"] 10080 /networks/prune: 10081 post: 10082 summary: "Delete unused networks" 10083 produces: 10084 - "application/json" 10085 operationId: "NetworkPrune" 10086 parameters: 10087 - name: "filters" 10088 in: "query" 10089 description: | 10090 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 10091 10092 Available filters: 10093 - `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. 10094 - `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. 10095 type: "string" 10096 responses: 10097 200: 10098 description: "No error" 10099 schema: 10100 type: "object" 10101 title: "NetworkPruneResponse" 10102 properties: 10103 NetworksDeleted: 10104 description: "Networks that were deleted" 10105 type: "array" 10106 items: 10107 type: "string" 10108 500: 10109 description: "Server error" 10110 schema: 10111 $ref: "#/definitions/ErrorResponse" 10112 tags: ["Network"] 10113 /plugins: 10114 get: 10115 summary: "List plugins" 10116 operationId: "PluginList" 10117 description: "Returns information about installed plugins." 10118 produces: ["application/json"] 10119 responses: 10120 200: 10121 description: "No error" 10122 schema: 10123 type: "array" 10124 items: 10125 $ref: "#/definitions/Plugin" 10126 500: 10127 description: "Server error" 10128 schema: 10129 $ref: "#/definitions/ErrorResponse" 10130 parameters: 10131 - name: "filters" 10132 in: "query" 10133 type: "string" 10134 description: | 10135 A JSON encoded value of the filters (a `map[string][]string`) to 10136 process on the plugin list. 10137 10138 Available filters: 10139 10140 - `capability=<capability name>` 10141 - `enable=<true>|<false>` 10142 tags: ["Plugin"] 10143 10144 /plugins/privileges: 10145 get: 10146 summary: "Get plugin privileges" 10147 operationId: "GetPluginPrivileges" 10148 responses: 10149 200: 10150 description: "no error" 10151 schema: 10152 type: "array" 10153 items: 10154 $ref: "#/definitions/PluginPrivilege" 10155 example: 10156 - Name: "network" 10157 Description: "" 10158 Value: 10159 - "host" 10160 - Name: "mount" 10161 Description: "" 10162 Value: 10163 - "/data" 10164 - Name: "device" 10165 Description: "" 10166 Value: 10167 - "/dev/cpu_dma_latency" 10168 500: 10169 description: "server error" 10170 schema: 10171 $ref: "#/definitions/ErrorResponse" 10172 parameters: 10173 - name: "remote" 10174 in: "query" 10175 description: | 10176 The name of the plugin. The `:latest` tag is optional, and is the 10177 default if omitted. 10178 required: true 10179 type: "string" 10180 tags: 10181 - "Plugin" 10182 10183 /plugins/pull: 10184 post: 10185 summary: "Install a plugin" 10186 operationId: "PluginPull" 10187 description: | 10188 Pulls and installs a plugin. After the plugin is installed, it can be 10189 enabled using the [`POST /plugins/{name}/enable` endpoint](#operation/PostPluginsEnable). 10190 produces: 10191 - "application/json" 10192 responses: 10193 204: 10194 description: "no error" 10195 500: 10196 description: "server error" 10197 schema: 10198 $ref: "#/definitions/ErrorResponse" 10199 parameters: 10200 - name: "remote" 10201 in: "query" 10202 description: | 10203 Remote reference for plugin to install. 10204 10205 The `:latest` tag is optional, and is used as the default if omitted. 10206 required: true 10207 type: "string" 10208 - name: "name" 10209 in: "query" 10210 description: | 10211 Local name for the pulled plugin. 10212 10213 The `:latest` tag is optional, and is used as the default if omitted. 10214 required: false 10215 type: "string" 10216 - name: "X-Registry-Auth" 10217 in: "header" 10218 description: | 10219 A base64url-encoded auth configuration to use when pulling a plugin 10220 from a registry. 10221 10222 Refer to the [authentication section](#section/Authentication) for 10223 details. 10224 type: "string" 10225 - name: "body" 10226 in: "body" 10227 schema: 10228 type: "array" 10229 items: 10230 $ref: "#/definitions/PluginPrivilege" 10231 example: 10232 - Name: "network" 10233 Description: "" 10234 Value: 10235 - "host" 10236 - Name: "mount" 10237 Description: "" 10238 Value: 10239 - "/data" 10240 - Name: "device" 10241 Description: "" 10242 Value: 10243 - "/dev/cpu_dma_latency" 10244 tags: ["Plugin"] 10245 /plugins/{name}/json: 10246 get: 10247 summary: "Inspect a plugin" 10248 operationId: "PluginInspect" 10249 responses: 10250 200: 10251 description: "no error" 10252 schema: 10253 $ref: "#/definitions/Plugin" 10254 404: 10255 description: "plugin is not installed" 10256 schema: 10257 $ref: "#/definitions/ErrorResponse" 10258 500: 10259 description: "server error" 10260 schema: 10261 $ref: "#/definitions/ErrorResponse" 10262 parameters: 10263 - name: "name" 10264 in: "path" 10265 description: | 10266 The name of the plugin. The `:latest` tag is optional, and is the 10267 default if omitted. 10268 required: true 10269 type: "string" 10270 tags: ["Plugin"] 10271 /plugins/{name}: 10272 delete: 10273 summary: "Remove a plugin" 10274 operationId: "PluginDelete" 10275 responses: 10276 200: 10277 description: "no error" 10278 schema: 10279 $ref: "#/definitions/Plugin" 10280 404: 10281 description: "plugin is not installed" 10282 schema: 10283 $ref: "#/definitions/ErrorResponse" 10284 500: 10285 description: "server error" 10286 schema: 10287 $ref: "#/definitions/ErrorResponse" 10288 parameters: 10289 - name: "name" 10290 in: "path" 10291 description: | 10292 The name of the plugin. The `:latest` tag is optional, and is the 10293 default if omitted. 10294 required: true 10295 type: "string" 10296 - name: "force" 10297 in: "query" 10298 description: | 10299 Disable the plugin before removing. This may result in issues if the 10300 plugin is in use by a container. 10301 type: "boolean" 10302 default: false 10303 tags: ["Plugin"] 10304 /plugins/{name}/enable: 10305 post: 10306 summary: "Enable a plugin" 10307 operationId: "PluginEnable" 10308 responses: 10309 200: 10310 description: "no error" 10311 404: 10312 description: "plugin is not installed" 10313 schema: 10314 $ref: "#/definitions/ErrorResponse" 10315 500: 10316 description: "server error" 10317 schema: 10318 $ref: "#/definitions/ErrorResponse" 10319 parameters: 10320 - name: "name" 10321 in: "path" 10322 description: | 10323 The name of the plugin. The `:latest` tag is optional, and is the 10324 default if omitted. 10325 required: true 10326 type: "string" 10327 - name: "timeout" 10328 in: "query" 10329 description: "Set the HTTP client timeout (in seconds)" 10330 type: "integer" 10331 default: 0 10332 tags: ["Plugin"] 10333 /plugins/{name}/disable: 10334 post: 10335 summary: "Disable a plugin" 10336 operationId: "PluginDisable" 10337 responses: 10338 200: 10339 description: "no error" 10340 404: 10341 description: "plugin is not installed" 10342 schema: 10343 $ref: "#/definitions/ErrorResponse" 10344 500: 10345 description: "server error" 10346 schema: 10347 $ref: "#/definitions/ErrorResponse" 10348 parameters: 10349 - name: "name" 10350 in: "path" 10351 description: | 10352 The name of the plugin. The `:latest` tag is optional, and is the 10353 default if omitted. 10354 required: true 10355 type: "string" 10356 - name: "force" 10357 in: "query" 10358 description: | 10359 Force disable a plugin even if still in use. 10360 required: false 10361 type: "boolean" 10362 tags: ["Plugin"] 10363 /plugins/{name}/upgrade: 10364 post: 10365 summary: "Upgrade a plugin" 10366 operationId: "PluginUpgrade" 10367 responses: 10368 204: 10369 description: "no error" 10370 404: 10371 description: "plugin not installed" 10372 schema: 10373 $ref: "#/definitions/ErrorResponse" 10374 500: 10375 description: "server error" 10376 schema: 10377 $ref: "#/definitions/ErrorResponse" 10378 parameters: 10379 - name: "name" 10380 in: "path" 10381 description: | 10382 The name of the plugin. The `:latest` tag is optional, and is the 10383 default if omitted. 10384 required: true 10385 type: "string" 10386 - name: "remote" 10387 in: "query" 10388 description: | 10389 Remote reference to upgrade to. 10390 10391 The `:latest` tag is optional, and is used as the default if omitted. 10392 required: true 10393 type: "string" 10394 - name: "X-Registry-Auth" 10395 in: "header" 10396 description: | 10397 A base64url-encoded auth configuration to use when pulling a plugin 10398 from a registry. 10399 10400 Refer to the [authentication section](#section/Authentication) for 10401 details. 10402 type: "string" 10403 - name: "body" 10404 in: "body" 10405 schema: 10406 type: "array" 10407 items: 10408 $ref: "#/definitions/PluginPrivilege" 10409 example: 10410 - Name: "network" 10411 Description: "" 10412 Value: 10413 - "host" 10414 - Name: "mount" 10415 Description: "" 10416 Value: 10417 - "/data" 10418 - Name: "device" 10419 Description: "" 10420 Value: 10421 - "/dev/cpu_dma_latency" 10422 tags: ["Plugin"] 10423 /plugins/create: 10424 post: 10425 summary: "Create a plugin" 10426 operationId: "PluginCreate" 10427 consumes: 10428 - "application/x-tar" 10429 responses: 10430 204: 10431 description: "no error" 10432 500: 10433 description: "server error" 10434 schema: 10435 $ref: "#/definitions/ErrorResponse" 10436 parameters: 10437 - name: "name" 10438 in: "query" 10439 description: | 10440 The name of the plugin. The `:latest` tag is optional, and is the 10441 default if omitted. 10442 required: true 10443 type: "string" 10444 - name: "tarContext" 10445 in: "body" 10446 description: "Path to tar containing plugin rootfs and manifest" 10447 schema: 10448 type: "string" 10449 format: "binary" 10450 tags: ["Plugin"] 10451 /plugins/{name}/push: 10452 post: 10453 summary: "Push a plugin" 10454 operationId: "PluginPush" 10455 description: | 10456 Push a plugin to the registry. 10457 parameters: 10458 - name: "name" 10459 in: "path" 10460 description: | 10461 The name of the plugin. The `:latest` tag is optional, and is the 10462 default if omitted. 10463 required: true 10464 type: "string" 10465 responses: 10466 200: 10467 description: "no error" 10468 404: 10469 description: "plugin not installed" 10470 schema: 10471 $ref: "#/definitions/ErrorResponse" 10472 500: 10473 description: "server error" 10474 schema: 10475 $ref: "#/definitions/ErrorResponse" 10476 tags: ["Plugin"] 10477 /plugins/{name}/set: 10478 post: 10479 summary: "Configure a plugin" 10480 operationId: "PluginSet" 10481 consumes: 10482 - "application/json" 10483 parameters: 10484 - name: "name" 10485 in: "path" 10486 description: | 10487 The name of the plugin. The `:latest` tag is optional, and is the 10488 default if omitted. 10489 required: true 10490 type: "string" 10491 - name: "body" 10492 in: "body" 10493 schema: 10494 type: "array" 10495 items: 10496 type: "string" 10497 example: ["DEBUG=1"] 10498 responses: 10499 204: 10500 description: "No error" 10501 404: 10502 description: "Plugin not installed" 10503 schema: 10504 $ref: "#/definitions/ErrorResponse" 10505 500: 10506 description: "Server error" 10507 schema: 10508 $ref: "#/definitions/ErrorResponse" 10509 tags: ["Plugin"] 10510 /nodes: 10511 get: 10512 summary: "List nodes" 10513 operationId: "NodeList" 10514 responses: 10515 200: 10516 description: "no error" 10517 schema: 10518 type: "array" 10519 items: 10520 $ref: "#/definitions/Node" 10521 500: 10522 description: "server error" 10523 schema: 10524 $ref: "#/definitions/ErrorResponse" 10525 503: 10526 description: "node is not part of a swarm" 10527 schema: 10528 $ref: "#/definitions/ErrorResponse" 10529 parameters: 10530 - name: "filters" 10531 in: "query" 10532 description: | 10533 Filters to process on the nodes list, encoded as JSON (a `map[string][]string`). 10534 10535 Available filters: 10536 - `id=<node id>` 10537 - `label=<engine label>` 10538 - `membership=`(`accepted`|`pending`)` 10539 - `name=<node name>` 10540 - `node.label=<node label>` 10541 - `role=`(`manager`|`worker`)` 10542 type: "string" 10543 tags: ["Node"] 10544 /nodes/{id}: 10545 get: 10546 summary: "Inspect a node" 10547 operationId: "NodeInspect" 10548 responses: 10549 200: 10550 description: "no error" 10551 schema: 10552 $ref: "#/definitions/Node" 10553 404: 10554 description: "no such node" 10555 schema: 10556 $ref: "#/definitions/ErrorResponse" 10557 500: 10558 description: "server error" 10559 schema: 10560 $ref: "#/definitions/ErrorResponse" 10561 503: 10562 description: "node is not part of a swarm" 10563 schema: 10564 $ref: "#/definitions/ErrorResponse" 10565 parameters: 10566 - name: "id" 10567 in: "path" 10568 description: "The ID or name of the node" 10569 type: "string" 10570 required: true 10571 tags: ["Node"] 10572 delete: 10573 summary: "Delete a node" 10574 operationId: "NodeDelete" 10575 responses: 10576 200: 10577 description: "no error" 10578 404: 10579 description: "no such node" 10580 schema: 10581 $ref: "#/definitions/ErrorResponse" 10582 500: 10583 description: "server error" 10584 schema: 10585 $ref: "#/definitions/ErrorResponse" 10586 503: 10587 description: "node is not part of a swarm" 10588 schema: 10589 $ref: "#/definitions/ErrorResponse" 10590 parameters: 10591 - name: "id" 10592 in: "path" 10593 description: "The ID or name of the node" 10594 type: "string" 10595 required: true 10596 - name: "force" 10597 in: "query" 10598 description: "Force remove a node from the swarm" 10599 default: false 10600 type: "boolean" 10601 tags: ["Node"] 10602 /nodes/{id}/update: 10603 post: 10604 summary: "Update a node" 10605 operationId: "NodeUpdate" 10606 responses: 10607 200: 10608 description: "no error" 10609 400: 10610 description: "bad parameter" 10611 schema: 10612 $ref: "#/definitions/ErrorResponse" 10613 404: 10614 description: "no such node" 10615 schema: 10616 $ref: "#/definitions/ErrorResponse" 10617 500: 10618 description: "server error" 10619 schema: 10620 $ref: "#/definitions/ErrorResponse" 10621 503: 10622 description: "node is not part of a swarm" 10623 schema: 10624 $ref: "#/definitions/ErrorResponse" 10625 parameters: 10626 - name: "id" 10627 in: "path" 10628 description: "The ID of the node" 10629 type: "string" 10630 required: true 10631 - name: "body" 10632 in: "body" 10633 schema: 10634 $ref: "#/definitions/NodeSpec" 10635 - name: "version" 10636 in: "query" 10637 description: | 10638 The version number of the node object being updated. This is required 10639 to avoid conflicting writes. 10640 type: "integer" 10641 format: "int64" 10642 required: true 10643 tags: ["Node"] 10644 /swarm: 10645 get: 10646 summary: "Inspect swarm" 10647 operationId: "SwarmInspect" 10648 responses: 10649 200: 10650 description: "no error" 10651 schema: 10652 $ref: "#/definitions/Swarm" 10653 404: 10654 description: "no such swarm" 10655 schema: 10656 $ref: "#/definitions/ErrorResponse" 10657 500: 10658 description: "server error" 10659 schema: 10660 $ref: "#/definitions/ErrorResponse" 10661 503: 10662 description: "node is not part of a swarm" 10663 schema: 10664 $ref: "#/definitions/ErrorResponse" 10665 tags: ["Swarm"] 10666 /swarm/init: 10667 post: 10668 summary: "Initialize a new swarm" 10669 operationId: "SwarmInit" 10670 produces: 10671 - "application/json" 10672 - "text/plain" 10673 responses: 10674 200: 10675 description: "no error" 10676 schema: 10677 description: "The node ID" 10678 type: "string" 10679 example: "7v2t30z9blmxuhnyo6s4cpenp" 10680 400: 10681 description: "bad parameter" 10682 schema: 10683 $ref: "#/definitions/ErrorResponse" 10684 500: 10685 description: "server error" 10686 schema: 10687 $ref: "#/definitions/ErrorResponse" 10688 503: 10689 description: "node is already part of a swarm" 10690 schema: 10691 $ref: "#/definitions/ErrorResponse" 10692 parameters: 10693 - name: "body" 10694 in: "body" 10695 required: true 10696 schema: 10697 type: "object" 10698 title: "SwarmInitRequest" 10699 properties: 10700 ListenAddr: 10701 description: | 10702 Listen address used for inter-manager communication, as well 10703 as determining the networking interface used for the VXLAN 10704 Tunnel Endpoint (VTEP). This can either be an address/port 10705 combination in the form `192.168.1.1:4567`, or an interface 10706 followed by a port number, like `eth0:4567`. If the port number 10707 is omitted, the default swarm listening port is used. 10708 type: "string" 10709 AdvertiseAddr: 10710 description: | 10711 Externally reachable address advertised to other nodes. This 10712 can either be an address/port combination in the form 10713 `192.168.1.1:4567`, or an interface followed by a port number, 10714 like `eth0:4567`. If the port number is omitted, the port 10715 number from the listen address is used. If `AdvertiseAddr` is 10716 not specified, it will be automatically detected when possible. 10717 type: "string" 10718 DataPathAddr: 10719 description: | 10720 Address or interface to use for data path traffic (format: 10721 `<ip|interface>`), for example, `192.168.1.1`, or an interface, 10722 like `eth0`. If `DataPathAddr` is unspecified, the same address 10723 as `AdvertiseAddr` is used. 10724 10725 The `DataPathAddr` specifies the address that global scope 10726 network drivers will publish towards other nodes in order to 10727 reach the containers running on this node. Using this parameter 10728 it is possible to separate the container data traffic from the 10729 management traffic of the cluster. 10730 type: "string" 10731 DataPathPort: 10732 description: | 10733 DataPathPort specifies the data path port number for data traffic. 10734 Acceptable port range is 1024 to 49151. 10735 if no port is set or is set to 0, default port 4789 will be used. 10736 type: "integer" 10737 format: "uint32" 10738 DefaultAddrPool: 10739 description: | 10740 Default Address Pool specifies default subnet pools for global 10741 scope networks. 10742 type: "array" 10743 items: 10744 type: "string" 10745 example: ["10.10.0.0/16", "20.20.0.0/16"] 10746 ForceNewCluster: 10747 description: "Force creation of a new swarm." 10748 type: "boolean" 10749 SubnetSize: 10750 description: | 10751 SubnetSize specifies the subnet size of the networks created 10752 from the default subnet pool. 10753 type: "integer" 10754 format: "uint32" 10755 Spec: 10756 $ref: "#/definitions/SwarmSpec" 10757 example: 10758 ListenAddr: "0.0.0.0:2377" 10759 AdvertiseAddr: "192.168.1.1:2377" 10760 DataPathPort: 4789 10761 DefaultAddrPool: ["10.10.0.0/8", "20.20.0.0/8"] 10762 SubnetSize: 24 10763 ForceNewCluster: false 10764 Spec: 10765 Orchestration: {} 10766 Raft: {} 10767 Dispatcher: {} 10768 CAConfig: {} 10769 EncryptionConfig: 10770 AutoLockManagers: false 10771 tags: ["Swarm"] 10772 /swarm/join: 10773 post: 10774 summary: "Join an existing swarm" 10775 operationId: "SwarmJoin" 10776 responses: 10777 200: 10778 description: "no error" 10779 400: 10780 description: "bad parameter" 10781 schema: 10782 $ref: "#/definitions/ErrorResponse" 10783 500: 10784 description: "server error" 10785 schema: 10786 $ref: "#/definitions/ErrorResponse" 10787 503: 10788 description: "node is already part of a swarm" 10789 schema: 10790 $ref: "#/definitions/ErrorResponse" 10791 parameters: 10792 - name: "body" 10793 in: "body" 10794 required: true 10795 schema: 10796 type: "object" 10797 title: "SwarmJoinRequest" 10798 properties: 10799 ListenAddr: 10800 description: | 10801 Listen address used for inter-manager communication if the node 10802 gets promoted to manager, as well as determining the networking 10803 interface used for the VXLAN Tunnel Endpoint (VTEP). 10804 type: "string" 10805 AdvertiseAddr: 10806 description: | 10807 Externally reachable address advertised to other nodes. This 10808 can either be an address/port combination in the form 10809 `192.168.1.1:4567`, or an interface followed by a port number, 10810 like `eth0:4567`. If the port number is omitted, the port 10811 number from the listen address is used. If `AdvertiseAddr` is 10812 not specified, it will be automatically detected when possible. 10813 type: "string" 10814 DataPathAddr: 10815 description: | 10816 Address or interface to use for data path traffic (format: 10817 `<ip|interface>`), for example, `192.168.1.1`, or an interface, 10818 like `eth0`. If `DataPathAddr` is unspecified, the same address 10819 as `AdvertiseAddr` is used. 10820 10821 The `DataPathAddr` specifies the address that global scope 10822 network drivers will publish towards other nodes in order to 10823 reach the containers running on this node. Using this parameter 10824 it is possible to separate the container data traffic from the 10825 management traffic of the cluster. 10826 10827 type: "string" 10828 RemoteAddrs: 10829 description: | 10830 Addresses of manager nodes already participating in the swarm. 10831 type: "array" 10832 items: 10833 type: "string" 10834 JoinToken: 10835 description: "Secret token for joining this swarm." 10836 type: "string" 10837 example: 10838 ListenAddr: "0.0.0.0:2377" 10839 AdvertiseAddr: "192.168.1.1:2377" 10840 RemoteAddrs: 10841 - "node1:2377" 10842 JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" 10843 tags: ["Swarm"] 10844 /swarm/leave: 10845 post: 10846 summary: "Leave a swarm" 10847 operationId: "SwarmLeave" 10848 responses: 10849 200: 10850 description: "no error" 10851 500: 10852 description: "server error" 10853 schema: 10854 $ref: "#/definitions/ErrorResponse" 10855 503: 10856 description: "node is not part of a swarm" 10857 schema: 10858 $ref: "#/definitions/ErrorResponse" 10859 parameters: 10860 - name: "force" 10861 description: | 10862 Force leave swarm, even if this is the last manager or that it will 10863 break the cluster. 10864 in: "query" 10865 type: "boolean" 10866 default: false 10867 tags: ["Swarm"] 10868 /swarm/update: 10869 post: 10870 summary: "Update a swarm" 10871 operationId: "SwarmUpdate" 10872 responses: 10873 200: 10874 description: "no error" 10875 400: 10876 description: "bad parameter" 10877 schema: 10878 $ref: "#/definitions/ErrorResponse" 10879 500: 10880 description: "server error" 10881 schema: 10882 $ref: "#/definitions/ErrorResponse" 10883 503: 10884 description: "node is not part of a swarm" 10885 schema: 10886 $ref: "#/definitions/ErrorResponse" 10887 parameters: 10888 - name: "body" 10889 in: "body" 10890 required: true 10891 schema: 10892 $ref: "#/definitions/SwarmSpec" 10893 - name: "version" 10894 in: "query" 10895 description: | 10896 The version number of the swarm object being updated. This is 10897 required to avoid conflicting writes. 10898 type: "integer" 10899 format: "int64" 10900 required: true 10901 - name: "rotateWorkerToken" 10902 in: "query" 10903 description: "Rotate the worker join token." 10904 type: "boolean" 10905 default: false 10906 - name: "rotateManagerToken" 10907 in: "query" 10908 description: "Rotate the manager join token." 10909 type: "boolean" 10910 default: false 10911 - name: "rotateManagerUnlockKey" 10912 in: "query" 10913 description: "Rotate the manager unlock key." 10914 type: "boolean" 10915 default: false 10916 tags: ["Swarm"] 10917 /swarm/unlockkey: 10918 get: 10919 summary: "Get the unlock key" 10920 operationId: "SwarmUnlockkey" 10921 consumes: 10922 - "application/json" 10923 responses: 10924 200: 10925 description: "no error" 10926 schema: 10927 type: "object" 10928 title: "UnlockKeyResponse" 10929 properties: 10930 UnlockKey: 10931 description: "The swarm's unlock key." 10932 type: "string" 10933 example: 10934 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 10935 500: 10936 description: "server error" 10937 schema: 10938 $ref: "#/definitions/ErrorResponse" 10939 503: 10940 description: "node is not part of a swarm" 10941 schema: 10942 $ref: "#/definitions/ErrorResponse" 10943 tags: ["Swarm"] 10944 /swarm/unlock: 10945 post: 10946 summary: "Unlock a locked manager" 10947 operationId: "SwarmUnlock" 10948 consumes: 10949 - "application/json" 10950 produces: 10951 - "application/json" 10952 parameters: 10953 - name: "body" 10954 in: "body" 10955 required: true 10956 schema: 10957 type: "object" 10958 title: "SwarmUnlockRequest" 10959 properties: 10960 UnlockKey: 10961 description: "The swarm's unlock key." 10962 type: "string" 10963 example: 10964 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 10965 responses: 10966 200: 10967 description: "no error" 10968 500: 10969 description: "server error" 10970 schema: 10971 $ref: "#/definitions/ErrorResponse" 10972 503: 10973 description: "node is not part of a swarm" 10974 schema: 10975 $ref: "#/definitions/ErrorResponse" 10976 tags: ["Swarm"] 10977 /services: 10978 get: 10979 summary: "List services" 10980 operationId: "ServiceList" 10981 responses: 10982 200: 10983 description: "no error" 10984 schema: 10985 type: "array" 10986 items: 10987 $ref: "#/definitions/Service" 10988 500: 10989 description: "server error" 10990 schema: 10991 $ref: "#/definitions/ErrorResponse" 10992 503: 10993 description: "node is not part of a swarm" 10994 schema: 10995 $ref: "#/definitions/ErrorResponse" 10996 parameters: 10997 - name: "filters" 10998 in: "query" 10999 type: "string" 11000 description: | 11001 A JSON encoded value of the filters (a `map[string][]string`) to 11002 process on the services list. 11003 11004 Available filters: 11005 11006 - `id=<service id>` 11007 - `label=<service label>` 11008 - `mode=["replicated"|"global"]` 11009 - `name=<service name>` 11010 - name: "status" 11011 in: "query" 11012 type: "boolean" 11013 description: | 11014 Include service status, with count of running and desired tasks. 11015 tags: ["Service"] 11016 /services/create: 11017 post: 11018 summary: "Create a service" 11019 operationId: "ServiceCreate" 11020 consumes: 11021 - "application/json" 11022 produces: 11023 - "application/json" 11024 responses: 11025 201: 11026 description: "no error" 11027 schema: 11028 type: "object" 11029 title: "ServiceCreateResponse" 11030 properties: 11031 ID: 11032 description: "The ID of the created service." 11033 type: "string" 11034 Warning: 11035 description: "Optional warning message" 11036 type: "string" 11037 example: 11038 ID: "ak7w3gjqoa3kuz8xcpnyy0pvl" 11039 Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" 11040 400: 11041 description: "bad parameter" 11042 schema: 11043 $ref: "#/definitions/ErrorResponse" 11044 403: 11045 description: "network is not eligible for services" 11046 schema: 11047 $ref: "#/definitions/ErrorResponse" 11048 409: 11049 description: "name conflicts with an existing service" 11050 schema: 11051 $ref: "#/definitions/ErrorResponse" 11052 500: 11053 description: "server error" 11054 schema: 11055 $ref: "#/definitions/ErrorResponse" 11056 503: 11057 description: "node is not part of a swarm" 11058 schema: 11059 $ref: "#/definitions/ErrorResponse" 11060 parameters: 11061 - name: "body" 11062 in: "body" 11063 required: true 11064 schema: 11065 allOf: 11066 - $ref: "#/definitions/ServiceSpec" 11067 - type: "object" 11068 example: 11069 Name: "web" 11070 TaskTemplate: 11071 ContainerSpec: 11072 Image: "nginx:alpine" 11073 Mounts: 11074 - 11075 ReadOnly: true 11076 Source: "web-data" 11077 Target: "/usr/share/nginx/html" 11078 Type: "volume" 11079 VolumeOptions: 11080 DriverConfig: {} 11081 Labels: 11082 com.example.something: "something-value" 11083 Hosts: ["10.10.10.10 host1", "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2"] 11084 User: "33" 11085 DNSConfig: 11086 Nameservers: ["8.8.8.8"] 11087 Search: ["example.org"] 11088 Options: ["timeout:3"] 11089 Secrets: 11090 - 11091 File: 11092 Name: "www.example.org.key" 11093 UID: "33" 11094 GID: "33" 11095 Mode: 384 11096 SecretID: "fpjqlhnwb19zds35k8wn80lq9" 11097 SecretName: "example_org_domain_key" 11098 LogDriver: 11099 Name: "json-file" 11100 Options: 11101 max-file: "3" 11102 max-size: "10M" 11103 Placement: {} 11104 Resources: 11105 Limits: 11106 MemoryBytes: 104857600 11107 Reservations: {} 11108 RestartPolicy: 11109 Condition: "on-failure" 11110 Delay: 10000000000 11111 MaxAttempts: 10 11112 Mode: 11113 Replicated: 11114 Replicas: 4 11115 UpdateConfig: 11116 Parallelism: 2 11117 Delay: 1000000000 11118 FailureAction: "pause" 11119 Monitor: 15000000000 11120 MaxFailureRatio: 0.15 11121 RollbackConfig: 11122 Parallelism: 1 11123 Delay: 1000000000 11124 FailureAction: "pause" 11125 Monitor: 15000000000 11126 MaxFailureRatio: 0.15 11127 EndpointSpec: 11128 Ports: 11129 - 11130 Protocol: "tcp" 11131 PublishedPort: 8080 11132 TargetPort: 80 11133 Labels: 11134 foo: "bar" 11135 - name: "X-Registry-Auth" 11136 in: "header" 11137 description: | 11138 A base64url-encoded auth configuration for pulling from private 11139 registries. 11140 11141 Refer to the [authentication section](#section/Authentication) for 11142 details. 11143 type: "string" 11144 tags: ["Service"] 11145 /services/{id}: 11146 get: 11147 summary: "Inspect a service" 11148 operationId: "ServiceInspect" 11149 responses: 11150 200: 11151 description: "no error" 11152 schema: 11153 $ref: "#/definitions/Service" 11154 404: 11155 description: "no such service" 11156 schema: 11157 $ref: "#/definitions/ErrorResponse" 11158 500: 11159 description: "server error" 11160 schema: 11161 $ref: "#/definitions/ErrorResponse" 11162 503: 11163 description: "node is not part of a swarm" 11164 schema: 11165 $ref: "#/definitions/ErrorResponse" 11166 parameters: 11167 - name: "id" 11168 in: "path" 11169 description: "ID or name of service." 11170 required: true 11171 type: "string" 11172 - name: "insertDefaults" 11173 in: "query" 11174 description: "Fill empty fields with default values." 11175 type: "boolean" 11176 default: false 11177 tags: ["Service"] 11178 delete: 11179 summary: "Delete a service" 11180 operationId: "ServiceDelete" 11181 responses: 11182 200: 11183 description: "no error" 11184 404: 11185 description: "no such service" 11186 schema: 11187 $ref: "#/definitions/ErrorResponse" 11188 500: 11189 description: "server error" 11190 schema: 11191 $ref: "#/definitions/ErrorResponse" 11192 503: 11193 description: "node is not part of a swarm" 11194 schema: 11195 $ref: "#/definitions/ErrorResponse" 11196 parameters: 11197 - name: "id" 11198 in: "path" 11199 description: "ID or name of service." 11200 required: true 11201 type: "string" 11202 tags: ["Service"] 11203 /services/{id}/update: 11204 post: 11205 summary: "Update a service" 11206 operationId: "ServiceUpdate" 11207 consumes: ["application/json"] 11208 produces: ["application/json"] 11209 responses: 11210 200: 11211 description: "no error" 11212 schema: 11213 $ref: "#/definitions/ServiceUpdateResponse" 11214 400: 11215 description: "bad parameter" 11216 schema: 11217 $ref: "#/definitions/ErrorResponse" 11218 404: 11219 description: "no such service" 11220 schema: 11221 $ref: "#/definitions/ErrorResponse" 11222 500: 11223 description: "server error" 11224 schema: 11225 $ref: "#/definitions/ErrorResponse" 11226 503: 11227 description: "node is not part of a swarm" 11228 schema: 11229 $ref: "#/definitions/ErrorResponse" 11230 parameters: 11231 - name: "id" 11232 in: "path" 11233 description: "ID or name of service." 11234 required: true 11235 type: "string" 11236 - name: "body" 11237 in: "body" 11238 required: true 11239 schema: 11240 allOf: 11241 - $ref: "#/definitions/ServiceSpec" 11242 - type: "object" 11243 example: 11244 Name: "top" 11245 TaskTemplate: 11246 ContainerSpec: 11247 Image: "busybox" 11248 Args: 11249 - "top" 11250 Resources: 11251 Limits: {} 11252 Reservations: {} 11253 RestartPolicy: 11254 Condition: "any" 11255 MaxAttempts: 0 11256 Placement: {} 11257 ForceUpdate: 0 11258 Mode: 11259 Replicated: 11260 Replicas: 1 11261 UpdateConfig: 11262 Parallelism: 2 11263 Delay: 1000000000 11264 FailureAction: "pause" 11265 Monitor: 15000000000 11266 MaxFailureRatio: 0.15 11267 RollbackConfig: 11268 Parallelism: 1 11269 Delay: 1000000000 11270 FailureAction: "pause" 11271 Monitor: 15000000000 11272 MaxFailureRatio: 0.15 11273 EndpointSpec: 11274 Mode: "vip" 11275 11276 - name: "version" 11277 in: "query" 11278 description: | 11279 The version number of the service object being updated. This is 11280 required to avoid conflicting writes. 11281 This version number should be the value as currently set on the 11282 service *before* the update. You can find the current version by 11283 calling `GET /services/{id}` 11284 required: true 11285 type: "integer" 11286 - name: "registryAuthFrom" 11287 in: "query" 11288 description: | 11289 If the `X-Registry-Auth` header is not specified, this parameter 11290 indicates where to find registry authorization credentials. 11291 type: "string" 11292 enum: ["spec", "previous-spec"] 11293 default: "spec" 11294 - name: "rollback" 11295 in: "query" 11296 description: | 11297 Set to this parameter to `previous` to cause a server-side rollback 11298 to the previous service spec. The supplied spec will be ignored in 11299 this case. 11300 type: "string" 11301 - name: "X-Registry-Auth" 11302 in: "header" 11303 description: | 11304 A base64url-encoded auth configuration for pulling from private 11305 registries. 11306 11307 Refer to the [authentication section](#section/Authentication) for 11308 details. 11309 type: "string" 11310 11311 tags: ["Service"] 11312 /services/{id}/logs: 11313 get: 11314 summary: "Get service logs" 11315 description: | 11316 Get `stdout` and `stderr` logs from a service. See also 11317 [`/containers/{id}/logs`](#operation/ContainerLogs). 11318 11319 **Note**: This endpoint works only for services with the `local`, 11320 `json-file` or `journald` logging drivers. 11321 produces: 11322 - "application/vnd.docker.raw-stream" 11323 - "application/vnd.docker.multiplexed-stream" 11324 operationId: "ServiceLogs" 11325 responses: 11326 200: 11327 description: "logs returned as a stream in response body" 11328 schema: 11329 type: "string" 11330 format: "binary" 11331 404: 11332 description: "no such service" 11333 schema: 11334 $ref: "#/definitions/ErrorResponse" 11335 examples: 11336 application/json: 11337 message: "No such service: c2ada9df5af8" 11338 500: 11339 description: "server error" 11340 schema: 11341 $ref: "#/definitions/ErrorResponse" 11342 503: 11343 description: "node is not part of a swarm" 11344 schema: 11345 $ref: "#/definitions/ErrorResponse" 11346 parameters: 11347 - name: "id" 11348 in: "path" 11349 required: true 11350 description: "ID or name of the service" 11351 type: "string" 11352 - name: "details" 11353 in: "query" 11354 description: "Show service context and extra details provided to logs." 11355 type: "boolean" 11356 default: false 11357 - name: "follow" 11358 in: "query" 11359 description: "Keep connection after returning logs." 11360 type: "boolean" 11361 default: false 11362 - name: "stdout" 11363 in: "query" 11364 description: "Return logs from `stdout`" 11365 type: "boolean" 11366 default: false 11367 - name: "stderr" 11368 in: "query" 11369 description: "Return logs from `stderr`" 11370 type: "boolean" 11371 default: false 11372 - name: "since" 11373 in: "query" 11374 description: "Only return logs since this time, as a UNIX timestamp" 11375 type: "integer" 11376 default: 0 11377 - name: "timestamps" 11378 in: "query" 11379 description: "Add timestamps to every log line" 11380 type: "boolean" 11381 default: false 11382 - name: "tail" 11383 in: "query" 11384 description: | 11385 Only return this number of log lines from the end of the logs. 11386 Specify as an integer or `all` to output all log lines. 11387 type: "string" 11388 default: "all" 11389 tags: ["Service"] 11390 /tasks: 11391 get: 11392 summary: "List tasks" 11393 operationId: "TaskList" 11394 produces: 11395 - "application/json" 11396 responses: 11397 200: 11398 description: "no error" 11399 schema: 11400 type: "array" 11401 items: 11402 $ref: "#/definitions/Task" 11403 example: 11404 - ID: "0kzzo1i0y4jz6027t0k7aezc7" 11405 Version: 11406 Index: 71 11407 CreatedAt: "2016-06-07T21:07:31.171892745Z" 11408 UpdatedAt: "2016-06-07T21:07:31.376370513Z" 11409 Spec: 11410 ContainerSpec: 11411 Image: "redis" 11412 Resources: 11413 Limits: {} 11414 Reservations: {} 11415 RestartPolicy: 11416 Condition: "any" 11417 MaxAttempts: 0 11418 Placement: {} 11419 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 11420 Slot: 1 11421 NodeID: "60gvrl6tm78dmak4yl7srz94v" 11422 Status: 11423 Timestamp: "2016-06-07T21:07:31.290032978Z" 11424 State: "running" 11425 Message: "started" 11426 ContainerStatus: 11427 ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035" 11428 PID: 677 11429 DesiredState: "running" 11430 NetworksAttachments: 11431 - Network: 11432 ID: "4qvuz4ko70xaltuqbt8956gd1" 11433 Version: 11434 Index: 18 11435 CreatedAt: "2016-06-07T20:31:11.912919752Z" 11436 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 11437 Spec: 11438 Name: "ingress" 11439 Labels: 11440 com.docker.swarm.internal: "true" 11441 DriverConfiguration: {} 11442 IPAMOptions: 11443 Driver: {} 11444 Configs: 11445 - Subnet: "10.255.0.0/16" 11446 Gateway: "10.255.0.1" 11447 DriverState: 11448 Name: "overlay" 11449 Options: 11450 com.docker.network.driver.overlay.vxlanid_list: "256" 11451 IPAMOptions: 11452 Driver: 11453 Name: "default" 11454 Configs: 11455 - Subnet: "10.255.0.0/16" 11456 Gateway: "10.255.0.1" 11457 Addresses: 11458 - "10.255.0.10/16" 11459 - ID: "1yljwbmlr8er2waf8orvqpwms" 11460 Version: 11461 Index: 30 11462 CreatedAt: "2016-06-07T21:07:30.019104782Z" 11463 UpdatedAt: "2016-06-07T21:07:30.231958098Z" 11464 Name: "hopeful_cori" 11465 Spec: 11466 ContainerSpec: 11467 Image: "redis" 11468 Resources: 11469 Limits: {} 11470 Reservations: {} 11471 RestartPolicy: 11472 Condition: "any" 11473 MaxAttempts: 0 11474 Placement: {} 11475 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 11476 Slot: 1 11477 NodeID: "60gvrl6tm78dmak4yl7srz94v" 11478 Status: 11479 Timestamp: "2016-06-07T21:07:30.202183143Z" 11480 State: "shutdown" 11481 Message: "shutdown" 11482 ContainerStatus: 11483 ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" 11484 DesiredState: "shutdown" 11485 NetworksAttachments: 11486 - Network: 11487 ID: "4qvuz4ko70xaltuqbt8956gd1" 11488 Version: 11489 Index: 18 11490 CreatedAt: "2016-06-07T20:31:11.912919752Z" 11491 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 11492 Spec: 11493 Name: "ingress" 11494 Labels: 11495 com.docker.swarm.internal: "true" 11496 DriverConfiguration: {} 11497 IPAMOptions: 11498 Driver: {} 11499 Configs: 11500 - Subnet: "10.255.0.0/16" 11501 Gateway: "10.255.0.1" 11502 DriverState: 11503 Name: "overlay" 11504 Options: 11505 com.docker.network.driver.overlay.vxlanid_list: "256" 11506 IPAMOptions: 11507 Driver: 11508 Name: "default" 11509 Configs: 11510 - Subnet: "10.255.0.0/16" 11511 Gateway: "10.255.0.1" 11512 Addresses: 11513 - "10.255.0.5/16" 11514 500: 11515 description: "server error" 11516 schema: 11517 $ref: "#/definitions/ErrorResponse" 11518 503: 11519 description: "node is not part of a swarm" 11520 schema: 11521 $ref: "#/definitions/ErrorResponse" 11522 parameters: 11523 - name: "filters" 11524 in: "query" 11525 type: "string" 11526 description: | 11527 A JSON encoded value of the filters (a `map[string][]string`) to 11528 process on the tasks list. 11529 11530 Available filters: 11531 11532 - `desired-state=(running | shutdown | accepted)` 11533 - `id=<task id>` 11534 - `label=key` or `label="key=value"` 11535 - `name=<task name>` 11536 - `node=<node id or name>` 11537 - `service=<service name>` 11538 tags: ["Task"] 11539 /tasks/{id}: 11540 get: 11541 summary: "Inspect a task" 11542 operationId: "TaskInspect" 11543 produces: 11544 - "application/json" 11545 responses: 11546 200: 11547 description: "no error" 11548 schema: 11549 $ref: "#/definitions/Task" 11550 404: 11551 description: "no such task" 11552 schema: 11553 $ref: "#/definitions/ErrorResponse" 11554 500: 11555 description: "server error" 11556 schema: 11557 $ref: "#/definitions/ErrorResponse" 11558 503: 11559 description: "node is not part of a swarm" 11560 schema: 11561 $ref: "#/definitions/ErrorResponse" 11562 parameters: 11563 - name: "id" 11564 in: "path" 11565 description: "ID of the task" 11566 required: true 11567 type: "string" 11568 tags: ["Task"] 11569 /tasks/{id}/logs: 11570 get: 11571 summary: "Get task logs" 11572 description: | 11573 Get `stdout` and `stderr` logs from a task. 11574 See also [`/containers/{id}/logs`](#operation/ContainerLogs). 11575 11576 **Note**: This endpoint works only for services with the `local`, 11577 `json-file` or `journald` logging drivers. 11578 operationId: "TaskLogs" 11579 produces: 11580 - "application/vnd.docker.raw-stream" 11581 - "application/vnd.docker.multiplexed-stream" 11582 responses: 11583 200: 11584 description: "logs returned as a stream in response body" 11585 schema: 11586 type: "string" 11587 format: "binary" 11588 404: 11589 description: "no such task" 11590 schema: 11591 $ref: "#/definitions/ErrorResponse" 11592 examples: 11593 application/json: 11594 message: "No such task: c2ada9df5af8" 11595 500: 11596 description: "server error" 11597 schema: 11598 $ref: "#/definitions/ErrorResponse" 11599 503: 11600 description: "node is not part of a swarm" 11601 schema: 11602 $ref: "#/definitions/ErrorResponse" 11603 parameters: 11604 - name: "id" 11605 in: "path" 11606 required: true 11607 description: "ID of the task" 11608 type: "string" 11609 - name: "details" 11610 in: "query" 11611 description: "Show task context and extra details provided to logs." 11612 type: "boolean" 11613 default: false 11614 - name: "follow" 11615 in: "query" 11616 description: "Keep connection after returning logs." 11617 type: "boolean" 11618 default: false 11619 - name: "stdout" 11620 in: "query" 11621 description: "Return logs from `stdout`" 11622 type: "boolean" 11623 default: false 11624 - name: "stderr" 11625 in: "query" 11626 description: "Return logs from `stderr`" 11627 type: "boolean" 11628 default: false 11629 - name: "since" 11630 in: "query" 11631 description: "Only return logs since this time, as a UNIX timestamp" 11632 type: "integer" 11633 default: 0 11634 - name: "timestamps" 11635 in: "query" 11636 description: "Add timestamps to every log line" 11637 type: "boolean" 11638 default: false 11639 - name: "tail" 11640 in: "query" 11641 description: | 11642 Only return this number of log lines from the end of the logs. 11643 Specify as an integer or `all` to output all log lines. 11644 type: "string" 11645 default: "all" 11646 tags: ["Task"] 11647 /secrets: 11648 get: 11649 summary: "List secrets" 11650 operationId: "SecretList" 11651 produces: 11652 - "application/json" 11653 responses: 11654 200: 11655 description: "no error" 11656 schema: 11657 type: "array" 11658 items: 11659 $ref: "#/definitions/Secret" 11660 example: 11661 - ID: "blt1owaxmitz71s9v5zh81zun" 11662 Version: 11663 Index: 85 11664 CreatedAt: "2017-07-20T13:55:28.678958722Z" 11665 UpdatedAt: "2017-07-20T13:55:28.678958722Z" 11666 Spec: 11667 Name: "mysql-passwd" 11668 Labels: 11669 some.label: "some.value" 11670 Driver: 11671 Name: "secret-bucket" 11672 Options: 11673 OptionA: "value for driver option A" 11674 OptionB: "value for driver option B" 11675 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 11676 Version: 11677 Index: 11 11678 CreatedAt: "2016-11-05T01:20:17.327670065Z" 11679 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 11680 Spec: 11681 Name: "app-dev.crt" 11682 Labels: 11683 foo: "bar" 11684 500: 11685 description: "server error" 11686 schema: 11687 $ref: "#/definitions/ErrorResponse" 11688 503: 11689 description: "node is not part of a swarm" 11690 schema: 11691 $ref: "#/definitions/ErrorResponse" 11692 parameters: 11693 - name: "filters" 11694 in: "query" 11695 type: "string" 11696 description: | 11697 A JSON encoded value of the filters (a `map[string][]string`) to 11698 process on the secrets list. 11699 11700 Available filters: 11701 11702 - `id=<secret id>` 11703 - `label=<key> or label=<key>=value` 11704 - `name=<secret name>` 11705 - `names=<secret name>` 11706 tags: ["Secret"] 11707 /secrets/create: 11708 post: 11709 summary: "Create a secret" 11710 operationId: "SecretCreate" 11711 consumes: 11712 - "application/json" 11713 produces: 11714 - "application/json" 11715 responses: 11716 201: 11717 description: "no error" 11718 schema: 11719 $ref: "#/definitions/IdResponse" 11720 409: 11721 description: "name conflicts with an existing object" 11722 schema: 11723 $ref: "#/definitions/ErrorResponse" 11724 500: 11725 description: "server error" 11726 schema: 11727 $ref: "#/definitions/ErrorResponse" 11728 503: 11729 description: "node is not part of a swarm" 11730 schema: 11731 $ref: "#/definitions/ErrorResponse" 11732 parameters: 11733 - name: "body" 11734 in: "body" 11735 schema: 11736 allOf: 11737 - $ref: "#/definitions/SecretSpec" 11738 - type: "object" 11739 example: 11740 Name: "app-key.crt" 11741 Labels: 11742 foo: "bar" 11743 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 11744 Driver: 11745 Name: "secret-bucket" 11746 Options: 11747 OptionA: "value for driver option A" 11748 OptionB: "value for driver option B" 11749 tags: ["Secret"] 11750 /secrets/{id}: 11751 get: 11752 summary: "Inspect a secret" 11753 operationId: "SecretInspect" 11754 produces: 11755 - "application/json" 11756 responses: 11757 200: 11758 description: "no error" 11759 schema: 11760 $ref: "#/definitions/Secret" 11761 examples: 11762 application/json: 11763 ID: "ktnbjxoalbkvbvedmg1urrz8h" 11764 Version: 11765 Index: 11 11766 CreatedAt: "2016-11-05T01:20:17.327670065Z" 11767 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 11768 Spec: 11769 Name: "app-dev.crt" 11770 Labels: 11771 foo: "bar" 11772 Driver: 11773 Name: "secret-bucket" 11774 Options: 11775 OptionA: "value for driver option A" 11776 OptionB: "value for driver option B" 11777 11778 404: 11779 description: "secret not found" 11780 schema: 11781 $ref: "#/definitions/ErrorResponse" 11782 500: 11783 description: "server error" 11784 schema: 11785 $ref: "#/definitions/ErrorResponse" 11786 503: 11787 description: "node is not part of a swarm" 11788 schema: 11789 $ref: "#/definitions/ErrorResponse" 11790 parameters: 11791 - name: "id" 11792 in: "path" 11793 required: true 11794 type: "string" 11795 description: "ID of the secret" 11796 tags: ["Secret"] 11797 delete: 11798 summary: "Delete a secret" 11799 operationId: "SecretDelete" 11800 produces: 11801 - "application/json" 11802 responses: 11803 204: 11804 description: "no error" 11805 404: 11806 description: "secret not found" 11807 schema: 11808 $ref: "#/definitions/ErrorResponse" 11809 500: 11810 description: "server error" 11811 schema: 11812 $ref: "#/definitions/ErrorResponse" 11813 503: 11814 description: "node is not part of a swarm" 11815 schema: 11816 $ref: "#/definitions/ErrorResponse" 11817 parameters: 11818 - name: "id" 11819 in: "path" 11820 required: true 11821 type: "string" 11822 description: "ID of the secret" 11823 tags: ["Secret"] 11824 /secrets/{id}/update: 11825 post: 11826 summary: "Update a Secret" 11827 operationId: "SecretUpdate" 11828 responses: 11829 200: 11830 description: "no error" 11831 400: 11832 description: "bad parameter" 11833 schema: 11834 $ref: "#/definitions/ErrorResponse" 11835 404: 11836 description: "no such secret" 11837 schema: 11838 $ref: "#/definitions/ErrorResponse" 11839 500: 11840 description: "server error" 11841 schema: 11842 $ref: "#/definitions/ErrorResponse" 11843 503: 11844 description: "node is not part of a swarm" 11845 schema: 11846 $ref: "#/definitions/ErrorResponse" 11847 parameters: 11848 - name: "id" 11849 in: "path" 11850 description: "The ID or name of the secret" 11851 type: "string" 11852 required: true 11853 - name: "body" 11854 in: "body" 11855 schema: 11856 $ref: "#/definitions/SecretSpec" 11857 description: | 11858 The spec of the secret to update. Currently, only the Labels field 11859 can be updated. All other fields must remain unchanged from the 11860 [SecretInspect endpoint](#operation/SecretInspect) response values. 11861 - name: "version" 11862 in: "query" 11863 description: | 11864 The version number of the secret object being updated. This is 11865 required to avoid conflicting writes. 11866 type: "integer" 11867 format: "int64" 11868 required: true 11869 tags: ["Secret"] 11870 /configs: 11871 get: 11872 summary: "List configs" 11873 operationId: "ConfigList" 11874 produces: 11875 - "application/json" 11876 responses: 11877 200: 11878 description: "no error" 11879 schema: 11880 type: "array" 11881 items: 11882 $ref: "#/definitions/Config" 11883 example: 11884 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 11885 Version: 11886 Index: 11 11887 CreatedAt: "2016-11-05T01:20:17.327670065Z" 11888 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 11889 Spec: 11890 Name: "server.conf" 11891 500: 11892 description: "server error" 11893 schema: 11894 $ref: "#/definitions/ErrorResponse" 11895 503: 11896 description: "node is not part of a swarm" 11897 schema: 11898 $ref: "#/definitions/ErrorResponse" 11899 parameters: 11900 - name: "filters" 11901 in: "query" 11902 type: "string" 11903 description: | 11904 A JSON encoded value of the filters (a `map[string][]string`) to 11905 process on the configs list. 11906 11907 Available filters: 11908 11909 - `id=<config id>` 11910 - `label=<key> or label=<key>=value` 11911 - `name=<config name>` 11912 - `names=<config name>` 11913 tags: ["Config"] 11914 /configs/create: 11915 post: 11916 summary: "Create a config" 11917 operationId: "ConfigCreate" 11918 consumes: 11919 - "application/json" 11920 produces: 11921 - "application/json" 11922 responses: 11923 201: 11924 description: "no error" 11925 schema: 11926 $ref: "#/definitions/IdResponse" 11927 409: 11928 description: "name conflicts with an existing object" 11929 schema: 11930 $ref: "#/definitions/ErrorResponse" 11931 500: 11932 description: "server error" 11933 schema: 11934 $ref: "#/definitions/ErrorResponse" 11935 503: 11936 description: "node is not part of a swarm" 11937 schema: 11938 $ref: "#/definitions/ErrorResponse" 11939 parameters: 11940 - name: "body" 11941 in: "body" 11942 schema: 11943 allOf: 11944 - $ref: "#/definitions/ConfigSpec" 11945 - type: "object" 11946 example: 11947 Name: "server.conf" 11948 Labels: 11949 foo: "bar" 11950 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 11951 tags: ["Config"] 11952 /configs/{id}: 11953 get: 11954 summary: "Inspect a config" 11955 operationId: "ConfigInspect" 11956 produces: 11957 - "application/json" 11958 responses: 11959 200: 11960 description: "no error" 11961 schema: 11962 $ref: "#/definitions/Config" 11963 examples: 11964 application/json: 11965 ID: "ktnbjxoalbkvbvedmg1urrz8h" 11966 Version: 11967 Index: 11 11968 CreatedAt: "2016-11-05T01:20:17.327670065Z" 11969 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 11970 Spec: 11971 Name: "app-dev.crt" 11972 404: 11973 description: "config not found" 11974 schema: 11975 $ref: "#/definitions/ErrorResponse" 11976 500: 11977 description: "server error" 11978 schema: 11979 $ref: "#/definitions/ErrorResponse" 11980 503: 11981 description: "node is not part of a swarm" 11982 schema: 11983 $ref: "#/definitions/ErrorResponse" 11984 parameters: 11985 - name: "id" 11986 in: "path" 11987 required: true 11988 type: "string" 11989 description: "ID of the config" 11990 tags: ["Config"] 11991 delete: 11992 summary: "Delete a config" 11993 operationId: "ConfigDelete" 11994 produces: 11995 - "application/json" 11996 responses: 11997 204: 11998 description: "no error" 11999 404: 12000 description: "config not found" 12001 schema: 12002 $ref: "#/definitions/ErrorResponse" 12003 500: 12004 description: "server error" 12005 schema: 12006 $ref: "#/definitions/ErrorResponse" 12007 503: 12008 description: "node is not part of a swarm" 12009 schema: 12010 $ref: "#/definitions/ErrorResponse" 12011 parameters: 12012 - name: "id" 12013 in: "path" 12014 required: true 12015 type: "string" 12016 description: "ID of the config" 12017 tags: ["Config"] 12018 /configs/{id}/update: 12019 post: 12020 summary: "Update a Config" 12021 operationId: "ConfigUpdate" 12022 responses: 12023 200: 12024 description: "no error" 12025 400: 12026 description: "bad parameter" 12027 schema: 12028 $ref: "#/definitions/ErrorResponse" 12029 404: 12030 description: "no such config" 12031 schema: 12032 $ref: "#/definitions/ErrorResponse" 12033 500: 12034 description: "server error" 12035 schema: 12036 $ref: "#/definitions/ErrorResponse" 12037 503: 12038 description: "node is not part of a swarm" 12039 schema: 12040 $ref: "#/definitions/ErrorResponse" 12041 parameters: 12042 - name: "id" 12043 in: "path" 12044 description: "The ID or name of the config" 12045 type: "string" 12046 required: true 12047 - name: "body" 12048 in: "body" 12049 schema: 12050 $ref: "#/definitions/ConfigSpec" 12051 description: | 12052 The spec of the config to update. Currently, only the Labels field 12053 can be updated. All other fields must remain unchanged from the 12054 [ConfigInspect endpoint](#operation/ConfigInspect) response values. 12055 - name: "version" 12056 in: "query" 12057 description: | 12058 The version number of the config object being updated. This is 12059 required to avoid conflicting writes. 12060 type: "integer" 12061 format: "int64" 12062 required: true 12063 tags: ["Config"] 12064 /distribution/{name}/json: 12065 get: 12066 summary: "Get image information from the registry" 12067 description: | 12068 Return image digest and platform information by contacting the registry. 12069 operationId: "DistributionInspect" 12070 produces: 12071 - "application/json" 12072 responses: 12073 200: 12074 description: "descriptor and platform information" 12075 schema: 12076 $ref: "#/definitions/DistributionInspect" 12077 401: 12078 description: "Failed authentication or no image found" 12079 schema: 12080 $ref: "#/definitions/ErrorResponse" 12081 examples: 12082 application/json: 12083 message: "No such image: someimage (tag: latest)" 12084 500: 12085 description: "Server error" 12086 schema: 12087 $ref: "#/definitions/ErrorResponse" 12088 parameters: 12089 - name: "name" 12090 in: "path" 12091 description: "Image name or id" 12092 type: "string" 12093 required: true 12094 tags: ["Distribution"] 12095 /session: 12096 post: 12097 summary: "Initialize interactive session" 12098 description: | 12099 Start a new interactive session with a server. Session allows server to 12100 call back to the client for advanced capabilities. 12101 12102 ### Hijacking 12103 12104 This endpoint hijacks the HTTP connection to HTTP2 transport that allows 12105 the client to expose gPRC services on that connection. 12106 12107 For example, the client sends this request to upgrade the connection: 12108 12109 ``` 12110 POST /session HTTP/1.1 12111 Upgrade: h2c 12112 Connection: Upgrade 12113 ``` 12114 12115 The Docker daemon responds with a `101 UPGRADED` response follow with 12116 the raw stream: 12117 12118 ``` 12119 HTTP/1.1 101 UPGRADED 12120 Connection: Upgrade 12121 Upgrade: h2c 12122 ``` 12123 operationId: "Session" 12124 produces: 12125 - "application/vnd.docker.raw-stream" 12126 responses: 12127 101: 12128 description: "no error, hijacking successful" 12129 400: 12130 description: "bad parameter" 12131 schema: 12132 $ref: "#/definitions/ErrorResponse" 12133 500: 12134 description: "server error" 12135 schema: 12136 $ref: "#/definitions/ErrorResponse" 12137 tags: ["Session"]