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