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