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