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