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