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