github.com/Prakhar-Agarwal-byte/moby@v0.0.0-20231027092010-a14e3e8ab87e/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://go.dev/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://go.dev/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 type: "string" 3760 example: "17.06.0-ce" 3761 ClusterStore: 3762 description: | 3763 URL of the distributed storage backend. 3764 3765 3766 The storage backend is used for multihost networking (to store 3767 network and endpoint information) and by the node discovery mechanism. 3768 3769 <p><br /></p> 3770 3771 > **Note**: This field is only propagated when using standalone Swarm 3772 > mode, and overlay networking using an external k/v store. Overlay 3773 > networks with Swarm mode enabled use the built-in raft store, and 3774 > this field will be empty. 3775 type: "string" 3776 example: "consul://consul.corp.example.com:8600/some/path" 3777 ClusterAdvertise: 3778 description: | 3779 The network endpoint that the Engine advertises for the purpose of 3780 node discovery. ClusterAdvertise is a `host:port` combination on which 3781 the daemon is reachable by other hosts. 3782 3783 <p><br /></p> 3784 3785 > **Note**: This field is only propagated when using standalone Swarm 3786 > mode, and overlay networking using an external k/v store. Overlay 3787 > networks with Swarm mode enabled use the built-in raft store, and 3788 > this field will be empty. 3789 type: "string" 3790 example: "node5.corp.example.com:8000" 3791 Runtimes: 3792 description: | 3793 List of [OCI compliant](https://github.com/opencontainers/runtime-spec) 3794 runtimes configured on the daemon. Keys hold the "name" used to 3795 reference the runtime. 3796 3797 The Docker daemon relies on an OCI compliant runtime (invoked via the 3798 `containerd` daemon) as its interface to the Linux kernel namespaces, 3799 cgroups, and SELinux. 3800 3801 The default runtime is `runc`, and automatically configured. Additional 3802 runtimes can be configured by the user and will be listed here. 3803 type: "object" 3804 additionalProperties: 3805 $ref: "#/definitions/Runtime" 3806 default: 3807 runc: 3808 path: "docker-runc" 3809 example: 3810 runc: 3811 path: "docker-runc" 3812 runc-master: 3813 path: "/go/bin/runc" 3814 custom: 3815 path: "/usr/local/bin/my-oci-runtime" 3816 runtimeArgs: ["--debug", "--systemd-cgroup=false"] 3817 DefaultRuntime: 3818 description: | 3819 Name of the default OCI runtime that is used when starting containers. 3820 3821 The default can be overridden per-container at create time. 3822 type: "string" 3823 default: "runc" 3824 example: "runc" 3825 Swarm: 3826 $ref: "#/definitions/SwarmInfo" 3827 LiveRestoreEnabled: 3828 description: | 3829 Indicates if live restore is enabled. 3830 3831 If enabled, containers are kept running when the daemon is shutdown 3832 or upon daemon start if running containers are detected. 3833 type: "boolean" 3834 default: false 3835 example: false 3836 Isolation: 3837 description: | 3838 Represents the isolation technology to use as a default for containers. 3839 The supported values are platform-specific. 3840 3841 If no isolation value is specified on daemon start, on Windows client, 3842 the default is `hyperv`, and on Windows server, the default is `process`. 3843 3844 This option is currently not used on other platforms. 3845 default: "default" 3846 type: "string" 3847 enum: 3848 - "default" 3849 - "hyperv" 3850 - "process" 3851 InitBinary: 3852 description: | 3853 Name and, optional, path of the the `docker-init` binary. 3854 3855 If the path is omitted, the daemon searches the host's `$PATH` for the 3856 binary and uses the first result. 3857 type: "string" 3858 example: "docker-init" 3859 ContainerdCommit: 3860 $ref: "#/definitions/Commit" 3861 RuncCommit: 3862 $ref: "#/definitions/Commit" 3863 InitCommit: 3864 $ref: "#/definitions/Commit" 3865 SecurityOptions: 3866 description: | 3867 List of security features that are enabled on the daemon, such as 3868 apparmor, seccomp, SELinux, and user-namespaces (userns). 3869 3870 Additional configuration options for each security feature may 3871 be present, and are included as a comma-separated list of key/value 3872 pairs. 3873 type: "array" 3874 items: 3875 type: "string" 3876 example: 3877 - "name=apparmor" 3878 - "name=seccomp,profile=default" 3879 - "name=selinux" 3880 - "name=userns" 3881 3882 3883 # PluginsInfo is a temp struct holding Plugins name 3884 # registered with docker daemon. It is used by Info struct 3885 PluginsInfo: 3886 description: | 3887 Available plugins per type. 3888 3889 <p><br /></p> 3890 3891 > **Note**: Only unmanaged (V1) plugins are included in this list. 3892 > V1 plugins are "lazily" loaded, and are not returned in this list 3893 > if there is no resource using the plugin. 3894 type: "object" 3895 properties: 3896 Volume: 3897 description: "Names of available volume-drivers, and network-driver plugins." 3898 type: "array" 3899 items: 3900 type: "string" 3901 example: ["local"] 3902 Network: 3903 description: "Names of available network-drivers, and network-driver plugins." 3904 type: "array" 3905 items: 3906 type: "string" 3907 example: ["bridge", "host", "ipvlan", "macvlan", "null", "overlay"] 3908 Authorization: 3909 description: "Names of available authorization plugins." 3910 type: "array" 3911 items: 3912 type: "string" 3913 example: ["img-authz-plugin", "hbm"] 3914 Log: 3915 description: "Names of available logging-drivers, and logging-driver plugins." 3916 type: "array" 3917 items: 3918 type: "string" 3919 example: ["awslogs", "fluentd", "gcplogs", "gelf", "journald", "json-file", "logentries", "splunk", "syslog"] 3920 3921 3922 RegistryServiceConfig: 3923 description: | 3924 RegistryServiceConfig stores daemon registry services configuration. 3925 type: "object" 3926 x-nullable: true 3927 properties: 3928 AllowNondistributableArtifactsCIDRs: 3929 description: | 3930 List of IP ranges to which nondistributable artifacts can be pushed, 3931 using the CIDR syntax [RFC 4632](https://tools.ietf.org/html/4632). 3932 3933 Some images (for example, Windows base images) contain artifacts 3934 whose distribution is restricted by license. When these images are 3935 pushed to a registry, restricted artifacts are not included. 3936 3937 This configuration override this behavior, and enables the daemon to 3938 push nondistributable artifacts to all registries whose resolved IP 3939 address is within the subnet described by the CIDR syntax. 3940 3941 This option is useful when pushing images containing 3942 nondistributable artifacts to a registry on an air-gapped network so 3943 hosts on that network can pull the images without connecting to 3944 another server. 3945 3946 > **Warning**: Nondistributable artifacts typically have restrictions 3947 > on how and where they can be distributed and shared. Only use this 3948 > feature to push artifacts to private registries and ensure that you 3949 > are in compliance with any terms that cover redistributing 3950 > nondistributable artifacts. 3951 3952 type: "array" 3953 items: 3954 type: "string" 3955 example: ["::1/128", "127.0.0.0/8"] 3956 AllowNondistributableArtifactsHostnames: 3957 description: | 3958 List of registry hostnames to which nondistributable artifacts can be 3959 pushed, using the format `<hostname>[:<port>]` or `<IP address>[:<port>]`. 3960 3961 Some images (for example, Windows base images) contain artifacts 3962 whose distribution is restricted by license. When these images are 3963 pushed to a registry, restricted artifacts are not included. 3964 3965 This configuration override this behavior for the specified 3966 registries. 3967 3968 This option is useful when pushing images containing 3969 nondistributable artifacts to a registry on an air-gapped network so 3970 hosts on that network can pull the images without connecting to 3971 another server. 3972 3973 > **Warning**: Nondistributable artifacts typically have restrictions 3974 > on how and where they can be distributed and shared. Only use this 3975 > feature to push artifacts to private registries and ensure that you 3976 > are in compliance with any terms that cover redistributing 3977 > nondistributable artifacts. 3978 type: "array" 3979 items: 3980 type: "string" 3981 example: ["registry.internal.corp.example.com:3000", "[2001:db8:a0b:12f0::1]:443"] 3982 InsecureRegistryCIDRs: 3983 description: | 3984 List of IP ranges of insecure registries, using the CIDR syntax 3985 ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries 3986 accept un-encrypted (HTTP) and/or untrusted (HTTPS with certificates 3987 from unknown CAs) communication. 3988 3989 By default, local registries (`127.0.0.0/8`) are configured as 3990 insecure. All other registries are secure. Communicating with an 3991 insecure registry is not possible if the daemon assumes that registry 3992 is secure. 3993 3994 This configuration override this behavior, insecure communication with 3995 registries whose resolved IP address is within the subnet described by 3996 the CIDR syntax. 3997 3998 Registries can also be marked insecure by hostname. Those registries 3999 are listed under `IndexConfigs` and have their `Secure` field set to 4000 `false`. 4001 4002 > **Warning**: Using this option can be useful when running a local 4003 > registry, but introduces security vulnerabilities. This option 4004 > should therefore ONLY be used for testing purposes. For increased 4005 > security, users should add their CA to their system's list of trusted 4006 > CAs instead of enabling this option. 4007 type: "array" 4008 items: 4009 type: "string" 4010 example: ["::1/128", "127.0.0.0/8"] 4011 IndexConfigs: 4012 type: "object" 4013 additionalProperties: 4014 $ref: "#/definitions/IndexInfo" 4015 example: 4016 "127.0.0.1:5000": 4017 "Name": "127.0.0.1:5000" 4018 "Mirrors": [] 4019 "Secure": false 4020 "Official": false 4021 "[2001:db8:a0b:12f0::1]:80": 4022 "Name": "[2001:db8:a0b:12f0::1]:80" 4023 "Mirrors": [] 4024 "Secure": false 4025 "Official": false 4026 "docker.io": 4027 Name: "docker.io" 4028 Mirrors: ["https://hub-mirror.corp.example.com:5000/"] 4029 Secure: true 4030 Official: true 4031 "registry.internal.corp.example.com:3000": 4032 Name: "registry.internal.corp.example.com:3000" 4033 Mirrors: [] 4034 Secure: false 4035 Official: false 4036 Mirrors: 4037 description: | 4038 List of registry URLs that act as a mirror for the official 4039 (`docker.io`) registry. 4040 4041 type: "array" 4042 items: 4043 type: "string" 4044 example: 4045 - "https://hub-mirror.corp.example.com:5000/" 4046 - "https://[2001:db8:a0b:12f0::1]/" 4047 4048 IndexInfo: 4049 description: 4050 IndexInfo contains information about a registry. 4051 type: "object" 4052 x-nullable: true 4053 properties: 4054 Name: 4055 description: | 4056 Name of the registry, such as "docker.io". 4057 type: "string" 4058 example: "docker.io" 4059 Mirrors: 4060 description: | 4061 List of mirrors, expressed as URIs. 4062 type: "array" 4063 items: 4064 type: "string" 4065 example: 4066 - "https://hub-mirror.corp.example.com:5000/" 4067 - "https://registry-2.docker.io/" 4068 - "https://registry-3.docker.io/" 4069 Secure: 4070 description: | 4071 Indicates if the the registry is part of the list of insecure 4072 registries. 4073 4074 If `false`, the registry is insecure. Insecure registries accept 4075 un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from 4076 unknown CAs) communication. 4077 4078 > **Warning**: Insecure registries can be useful when running a local 4079 > registry. However, because its use creates security vulnerabilities 4080 > it should ONLY be enabled for testing purposes. For increased 4081 > security, users should add their CA to their system's list of 4082 > trusted CAs instead of enabling this option. 4083 type: "boolean" 4084 example: true 4085 Official: 4086 description: | 4087 Indicates whether this is an official registry (i.e., Docker Hub / docker.io) 4088 type: "boolean" 4089 example: true 4090 4091 Runtime: 4092 description: | 4093 Runtime describes an [OCI compliant](https://github.com/opencontainers/runtime-spec) 4094 runtime. 4095 4096 The runtime is invoked by the daemon via the `containerd` daemon. OCI 4097 runtimes act as an interface to the Linux kernel namespaces, cgroups, 4098 and SELinux. 4099 type: "object" 4100 properties: 4101 path: 4102 description: | 4103 Name and, optional, path, of the OCI executable binary. 4104 4105 If the path is omitted, the daemon searches the host's `$PATH` for the 4106 binary and uses the first result. 4107 type: "string" 4108 example: "/usr/local/bin/my-oci-runtime" 4109 runtimeArgs: 4110 description: | 4111 List of command-line arguments to pass to the runtime when invoked. 4112 type: "array" 4113 x-nullable: true 4114 items: 4115 type: "string" 4116 example: ["--debug", "--systemd-cgroup=false"] 4117 4118 Commit: 4119 description: | 4120 Commit holds the Git-commit (SHA1) that a binary was built from, as 4121 reported in the version-string of external tools, such as `containerd`, 4122 or `runC`. 4123 type: "object" 4124 properties: 4125 ID: 4126 description: "Actual commit ID of external tool." 4127 type: "string" 4128 example: "cfb82a876ecc11b5ca0977d1733adbe58599088a" 4129 Expected: 4130 description: | 4131 Commit ID of external tool expected by dockerd as set at build time. 4132 type: "string" 4133 example: "2d41c047c83e09a6d61d464906feb2a2f3c52aa4" 4134 4135 SwarmInfo: 4136 description: | 4137 Represents generic information about swarm. 4138 type: "object" 4139 properties: 4140 NodeID: 4141 description: "Unique identifier of for this node in the swarm." 4142 type: "string" 4143 default: "" 4144 example: "k67qz4598weg5unwwffg6z1m1" 4145 NodeAddr: 4146 description: | 4147 IP address at which this node can be reached by other nodes in the 4148 swarm. 4149 type: "string" 4150 default: "" 4151 example: "10.0.0.46" 4152 LocalNodeState: 4153 $ref: "#/definitions/LocalNodeState" 4154 ControlAvailable: 4155 type: "boolean" 4156 default: false 4157 example: true 4158 Error: 4159 type: "string" 4160 default: "" 4161 RemoteManagers: 4162 description: | 4163 List of ID's and addresses of other managers in the swarm. 4164 type: "array" 4165 default: null 4166 x-nullable: true 4167 items: 4168 $ref: "#/definitions/PeerNode" 4169 example: 4170 - NodeID: "71izy0goik036k48jg985xnds" 4171 Addr: "10.0.0.158:2377" 4172 - NodeID: "79y6h1o4gv8n120drcprv5nmc" 4173 Addr: "10.0.0.159:2377" 4174 - NodeID: "k67qz4598weg5unwwffg6z1m1" 4175 Addr: "10.0.0.46:2377" 4176 Nodes: 4177 description: "Total number of nodes in the swarm." 4178 type: "integer" 4179 x-nullable: true 4180 example: 4 4181 Managers: 4182 description: "Total number of managers in the swarm." 4183 type: "integer" 4184 x-nullable: true 4185 example: 3 4186 Cluster: 4187 $ref: "#/definitions/ClusterInfo" 4188 4189 LocalNodeState: 4190 description: "Current local status of this node." 4191 type: "string" 4192 default: "" 4193 enum: 4194 - "" 4195 - "inactive" 4196 - "pending" 4197 - "active" 4198 - "error" 4199 - "locked" 4200 example: "active" 4201 4202 PeerNode: 4203 description: "Represents a peer-node in the swarm" 4204 type: "object" 4205 properties: 4206 NodeID: 4207 description: "Unique identifier of for this node in the swarm." 4208 type: "string" 4209 Addr: 4210 description: | 4211 IP address and ports at which this node can be reached. 4212 type: "string" 4213 4214 paths: 4215 /containers/json: 4216 get: 4217 summary: "List containers" 4218 description: | 4219 Returns a list of containers. For details on the format, see [the inspect endpoint](#operation/ContainerInspect). 4220 4221 Note that it uses a different, smaller representation of a container than inspecting a single container. For example, 4222 the list of linked containers is not propagated . 4223 operationId: "ContainerList" 4224 produces: 4225 - "application/json" 4226 parameters: 4227 - name: "all" 4228 in: "query" 4229 description: "Return all containers. By default, only running containers are shown" 4230 type: "boolean" 4231 default: false 4232 - name: "limit" 4233 in: "query" 4234 description: "Return this number of most recently created containers, including non-running ones." 4235 type: "integer" 4236 - name: "size" 4237 in: "query" 4238 description: "Return the size of container as fields `SizeRw` and `SizeRootFs`." 4239 type: "boolean" 4240 default: false 4241 - name: "filters" 4242 in: "query" 4243 description: | 4244 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: 4245 4246 - `ancestor`=(`<image-name>[:<tag>]`, `<image id>`, or `<image@digest>`) 4247 - `before`=(`<container id>` or `<container name>`) 4248 - `expose`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`) 4249 - `exited=<int>` containers with exit code of `<int>` 4250 - `health`=(`starting`|`healthy`|`unhealthy`|`none`) 4251 - `id=<ID>` a container's ID 4252 - `isolation=`(`default`|`process`|`hyperv`) (Windows daemon only) 4253 - `is-task=`(`true`|`false`) 4254 - `label=key` or `label="key=value"` of a container label 4255 - `name=<name>` a container's name 4256 - `network`=(`<network id>` or `<network name>`) 4257 - `publish`=(`<port>[/<proto>]`|`<startport-endport>/[<proto>]`) 4258 - `since`=(`<container id>` or `<container name>`) 4259 - `status=`(`created`|`restarting`|`running`|`removing`|`paused`|`exited`|`dead`) 4260 - `volume`=(`<volume name>` or `<mount point destination>`) 4261 type: "string" 4262 responses: 4263 200: 4264 description: "no error" 4265 schema: 4266 $ref: "#/definitions/ContainerSummary" 4267 examples: 4268 application/json: 4269 - Id: "8dfafdbc3a40" 4270 Names: 4271 - "/boring_feynman" 4272 Image: "ubuntu:latest" 4273 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4274 Command: "echo 1" 4275 Created: 1367854155 4276 State: "Exited" 4277 Status: "Exit 0" 4278 Ports: 4279 - PrivatePort: 2222 4280 PublicPort: 3333 4281 Type: "tcp" 4282 Labels: 4283 com.example.vendor: "Acme" 4284 com.example.license: "GPL" 4285 com.example.version: "1.0" 4286 SizeRw: 12288 4287 SizeRootFs: 0 4288 HostConfig: 4289 NetworkMode: "default" 4290 NetworkSettings: 4291 Networks: 4292 bridge: 4293 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4294 EndpointID: "2cdc4edb1ded3631c81f57966563e5c8525b81121bb3706a9a9a3ae102711f3f" 4295 Gateway: "172.17.0.1" 4296 IPAddress: "172.17.0.2" 4297 IPPrefixLen: 16 4298 IPv6Gateway: "" 4299 GlobalIPv6Address: "" 4300 GlobalIPv6PrefixLen: 0 4301 MacAddress: "02:42:ac:11:00:02" 4302 Mounts: 4303 - Name: "fac362...80535" 4304 Source: "/data" 4305 Destination: "/data" 4306 Driver: "local" 4307 Mode: "ro,Z" 4308 RW: false 4309 Propagation: "" 4310 - Id: "9cd87474be90" 4311 Names: 4312 - "/coolName" 4313 Image: "ubuntu:latest" 4314 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4315 Command: "echo 222222" 4316 Created: 1367854155 4317 State: "Exited" 4318 Status: "Exit 0" 4319 Ports: [] 4320 Labels: {} 4321 SizeRw: 12288 4322 SizeRootFs: 0 4323 HostConfig: 4324 NetworkMode: "default" 4325 NetworkSettings: 4326 Networks: 4327 bridge: 4328 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4329 EndpointID: "88eaed7b37b38c2a3f0c4bc796494fdf51b270c2d22656412a2ca5d559a64d7a" 4330 Gateway: "172.17.0.1" 4331 IPAddress: "172.17.0.8" 4332 IPPrefixLen: 16 4333 IPv6Gateway: "" 4334 GlobalIPv6Address: "" 4335 GlobalIPv6PrefixLen: 0 4336 MacAddress: "02:42:ac:11:00:08" 4337 Mounts: [] 4338 - Id: "3176a2479c92" 4339 Names: 4340 - "/sleepy_dog" 4341 Image: "ubuntu:latest" 4342 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4343 Command: "echo 3333333333333333" 4344 Created: 1367854154 4345 State: "Exited" 4346 Status: "Exit 0" 4347 Ports: [] 4348 Labels: {} 4349 SizeRw: 12288 4350 SizeRootFs: 0 4351 HostConfig: 4352 NetworkMode: "default" 4353 NetworkSettings: 4354 Networks: 4355 bridge: 4356 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4357 EndpointID: "8b27c041c30326d59cd6e6f510d4f8d1d570a228466f956edf7815508f78e30d" 4358 Gateway: "172.17.0.1" 4359 IPAddress: "172.17.0.6" 4360 IPPrefixLen: 16 4361 IPv6Gateway: "" 4362 GlobalIPv6Address: "" 4363 GlobalIPv6PrefixLen: 0 4364 MacAddress: "02:42:ac:11:00:06" 4365 Mounts: [] 4366 - Id: "4cb07b47f9fb" 4367 Names: 4368 - "/running_cat" 4369 Image: "ubuntu:latest" 4370 ImageID: "d74508fb6632491cea586a1fd7d748dfc5274cd6fdfedee309ecdcbc2bf5cb82" 4371 Command: "echo 444444444444444444444444444444444" 4372 Created: 1367854152 4373 State: "Exited" 4374 Status: "Exit 0" 4375 Ports: [] 4376 Labels: {} 4377 SizeRw: 12288 4378 SizeRootFs: 0 4379 HostConfig: 4380 NetworkMode: "default" 4381 NetworkSettings: 4382 Networks: 4383 bridge: 4384 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4385 EndpointID: "d91c7b2f0644403d7ef3095985ea0e2370325cd2332ff3a3225c4247328e66e9" 4386 Gateway: "172.17.0.1" 4387 IPAddress: "172.17.0.5" 4388 IPPrefixLen: 16 4389 IPv6Gateway: "" 4390 GlobalIPv6Address: "" 4391 GlobalIPv6PrefixLen: 0 4392 MacAddress: "02:42:ac:11:00:05" 4393 Mounts: [] 4394 400: 4395 description: "bad parameter" 4396 schema: 4397 $ref: "#/definitions/ErrorResponse" 4398 500: 4399 description: "server error" 4400 schema: 4401 $ref: "#/definitions/ErrorResponse" 4402 tags: ["Container"] 4403 /containers/create: 4404 post: 4405 summary: "Create a container" 4406 operationId: "ContainerCreate" 4407 consumes: 4408 - "application/json" 4409 - "application/octet-stream" 4410 produces: 4411 - "application/json" 4412 parameters: 4413 - name: "name" 4414 in: "query" 4415 description: "Assign the specified name to the container. Must match `/?[a-zA-Z0-9_-]+`." 4416 type: "string" 4417 pattern: "/?[a-zA-Z0-9_-]+" 4418 - name: "body" 4419 in: "body" 4420 description: "Container to create" 4421 schema: 4422 allOf: 4423 - $ref: "#/definitions/ContainerConfig" 4424 - type: "object" 4425 properties: 4426 HostConfig: 4427 $ref: "#/definitions/HostConfig" 4428 NetworkingConfig: 4429 description: "This container's networking configuration." 4430 type: "object" 4431 properties: 4432 EndpointsConfig: 4433 description: "A mapping of network name to endpoint configuration for that network." 4434 type: "object" 4435 additionalProperties: 4436 $ref: "#/definitions/EndpointSettings" 4437 example: 4438 Hostname: "" 4439 Domainname: "" 4440 User: "" 4441 AttachStdin: false 4442 AttachStdout: true 4443 AttachStderr: true 4444 Tty: false 4445 OpenStdin: false 4446 StdinOnce: false 4447 Env: 4448 - "FOO=bar" 4449 - "BAZ=quux" 4450 Cmd: 4451 - "date" 4452 Entrypoint: "" 4453 Image: "ubuntu" 4454 Labels: 4455 com.example.vendor: "Acme" 4456 com.example.license: "GPL" 4457 com.example.version: "1.0" 4458 Volumes: 4459 /volumes/data: {} 4460 WorkingDir: "" 4461 NetworkDisabled: false 4462 MacAddress: "12:34:56:78:9a:bc" 4463 ExposedPorts: 4464 22/tcp: {} 4465 StopSignal: "SIGTERM" 4466 StopTimeout: 10 4467 HostConfig: 4468 Binds: 4469 - "/tmp:/tmp" 4470 Links: 4471 - "redis3:redis" 4472 Memory: 0 4473 MemorySwap: 0 4474 MemoryReservation: 0 4475 KernelMemory: 0 4476 NanoCpus: 500000 4477 CpuPercent: 80 4478 CpuShares: 512 4479 CpuPeriod: 100000 4480 CpuRealtimePeriod: 1000000 4481 CpuRealtimeRuntime: 10000 4482 CpuQuota: 50000 4483 CpusetCpus: "0,1" 4484 CpusetMems: "0,1" 4485 MaximumIOps: 0 4486 MaximumIOBps: 0 4487 BlkioWeight: 300 4488 BlkioWeightDevice: 4489 - {} 4490 BlkioDeviceReadBps: 4491 - {} 4492 BlkioDeviceReadIOps: 4493 - {} 4494 BlkioDeviceWriteBps: 4495 - {} 4496 BlkioDeviceWriteIOps: 4497 - {} 4498 MemorySwappiness: 60 4499 OomKillDisable: false 4500 OomScoreAdj: 500 4501 PidMode: "" 4502 PidsLimit: -1 4503 PortBindings: 4504 22/tcp: 4505 - HostPort: "11022" 4506 PublishAllPorts: false 4507 Privileged: false 4508 ReadonlyRootfs: false 4509 Dns: 4510 - "8.8.8.8" 4511 DnsOptions: 4512 - "" 4513 DnsSearch: 4514 - "" 4515 VolumesFrom: 4516 - "parent" 4517 - "other:ro" 4518 CapAdd: 4519 - "NET_ADMIN" 4520 CapDrop: 4521 - "MKNOD" 4522 GroupAdd: 4523 - "newgroup" 4524 RestartPolicy: 4525 Name: "" 4526 MaximumRetryCount: 0 4527 AutoRemove: true 4528 NetworkMode: "bridge" 4529 Devices: [] 4530 Ulimits: 4531 - {} 4532 LogConfig: 4533 Type: "json-file" 4534 Config: {} 4535 SecurityOpt: [] 4536 StorageOpt: {} 4537 CgroupParent: "" 4538 VolumeDriver: "" 4539 ShmSize: 67108864 4540 NetworkingConfig: 4541 EndpointsConfig: 4542 isolated_nw: 4543 IPAMConfig: 4544 IPv4Address: "172.20.30.33" 4545 IPv6Address: "2001:db8:abcd::3033" 4546 LinkLocalIPs: 4547 - "169.254.34.68" 4548 - "fe80::3468" 4549 Links: 4550 - "container_1" 4551 - "container_2" 4552 Aliases: 4553 - "server_x" 4554 - "server_y" 4555 4556 required: true 4557 responses: 4558 201: 4559 description: "Container created successfully" 4560 schema: 4561 type: "object" 4562 required: [Id, Warnings] 4563 properties: 4564 Id: 4565 description: "The ID of the created container" 4566 type: "string" 4567 x-nullable: false 4568 Warnings: 4569 description: "Warnings encountered when creating the container" 4570 type: "array" 4571 x-nullable: false 4572 items: 4573 type: "string" 4574 examples: 4575 application/json: 4576 Id: "e90e34656806" 4577 Warnings: [] 4578 400: 4579 description: "bad parameter" 4580 schema: 4581 $ref: "#/definitions/ErrorResponse" 4582 404: 4583 description: "no such image" 4584 schema: 4585 $ref: "#/definitions/ErrorResponse" 4586 examples: 4587 application/json: 4588 message: "No such image: c2ada9df5af8" 4589 409: 4590 description: "conflict" 4591 schema: 4592 $ref: "#/definitions/ErrorResponse" 4593 500: 4594 description: "server error" 4595 schema: 4596 $ref: "#/definitions/ErrorResponse" 4597 tags: ["Container"] 4598 /containers/{id}/json: 4599 get: 4600 summary: "Inspect a container" 4601 description: "Return low-level information about a container." 4602 operationId: "ContainerInspect" 4603 produces: 4604 - "application/json" 4605 responses: 4606 200: 4607 description: "no error" 4608 schema: 4609 type: "object" 4610 properties: 4611 Id: 4612 description: "The ID of the container" 4613 type: "string" 4614 Created: 4615 description: "The time the container was created" 4616 type: "string" 4617 Path: 4618 description: "The path to the command being run" 4619 type: "string" 4620 Args: 4621 description: "The arguments to the command being run" 4622 type: "array" 4623 items: 4624 type: "string" 4625 State: 4626 description: "The state of the container." 4627 type: "object" 4628 properties: 4629 Status: 4630 description: | 4631 The status of the container. For example, `"running"` or `"exited"`. 4632 type: "string" 4633 enum: ["created", "running", "paused", "restarting", "removing", "exited", "dead"] 4634 Running: 4635 description: | 4636 Whether this container is running. 4637 4638 Note that a running container can be _paused_. The `Running` and `Paused` 4639 booleans are not mutually exclusive: 4640 4641 When pausing a container (on Linux), the cgroups freezer is used to suspend 4642 all processes in the container. Freezing the process requires the process to 4643 be running. As a result, paused containers are both `Running` _and_ `Paused`. 4644 4645 Use the `Status` field instead to determine if a container's state is "running". 4646 type: "boolean" 4647 Paused: 4648 description: "Whether this container is paused." 4649 type: "boolean" 4650 Restarting: 4651 description: "Whether this container is restarting." 4652 type: "boolean" 4653 OOMKilled: 4654 description: "Whether this container has been killed because it ran out of memory." 4655 type: "boolean" 4656 Dead: 4657 type: "boolean" 4658 Pid: 4659 description: "The process ID of this container" 4660 type: "integer" 4661 ExitCode: 4662 description: "The last exit code of this container" 4663 type: "integer" 4664 Error: 4665 type: "string" 4666 StartedAt: 4667 description: "The time when this container was last started." 4668 type: "string" 4669 FinishedAt: 4670 description: "The time when this container last exited." 4671 type: "string" 4672 Image: 4673 description: "The container's image" 4674 type: "string" 4675 ResolvConfPath: 4676 type: "string" 4677 HostnamePath: 4678 type: "string" 4679 HostsPath: 4680 type: "string" 4681 LogPath: 4682 type: "string" 4683 Node: 4684 description: "TODO" 4685 type: "object" 4686 Name: 4687 type: "string" 4688 RestartCount: 4689 type: "integer" 4690 Driver: 4691 type: "string" 4692 MountLabel: 4693 type: "string" 4694 ProcessLabel: 4695 type: "string" 4696 AppArmorProfile: 4697 type: "string" 4698 ExecIDs: 4699 type: "string" 4700 HostConfig: 4701 $ref: "#/definitions/HostConfig" 4702 GraphDriver: 4703 $ref: "#/definitions/GraphDriverData" 4704 SizeRw: 4705 description: "The size of files that have been created or changed by this container." 4706 type: "integer" 4707 format: "int64" 4708 SizeRootFs: 4709 description: "The total size of all the files in this container." 4710 type: "integer" 4711 format: "int64" 4712 Mounts: 4713 type: "array" 4714 items: 4715 $ref: "#/definitions/MountPoint" 4716 Config: 4717 $ref: "#/definitions/ContainerConfig" 4718 NetworkSettings: 4719 $ref: "#/definitions/NetworkSettings" 4720 examples: 4721 application/json: 4722 AppArmorProfile: "" 4723 Args: 4724 - "-c" 4725 - "exit 9" 4726 Config: 4727 AttachStderr: true 4728 AttachStdin: false 4729 AttachStdout: true 4730 Cmd: 4731 - "/bin/sh" 4732 - "-c" 4733 - "exit 9" 4734 Domainname: "" 4735 Env: 4736 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 4737 Hostname: "ba033ac44011" 4738 Image: "ubuntu" 4739 Labels: 4740 com.example.vendor: "Acme" 4741 com.example.license: "GPL" 4742 com.example.version: "1.0" 4743 MacAddress: "" 4744 NetworkDisabled: false 4745 OpenStdin: false 4746 StdinOnce: false 4747 Tty: false 4748 User: "" 4749 Volumes: 4750 /volumes/data: {} 4751 WorkingDir: "" 4752 StopSignal: "SIGTERM" 4753 StopTimeout: 10 4754 Created: "2015-01-06T15:47:31.485331387Z" 4755 Driver: "overlay2" 4756 HostConfig: 4757 MaximumIOps: 0 4758 MaximumIOBps: 0 4759 BlkioWeight: 0 4760 BlkioWeightDevice: 4761 - {} 4762 BlkioDeviceReadBps: 4763 - {} 4764 BlkioDeviceWriteBps: 4765 - {} 4766 BlkioDeviceReadIOps: 4767 - {} 4768 BlkioDeviceWriteIOps: 4769 - {} 4770 ContainerIDFile: "" 4771 CpusetCpus: "" 4772 CpusetMems: "" 4773 CpuPercent: 80 4774 CpuShares: 0 4775 CpuPeriod: 100000 4776 CpuRealtimePeriod: 1000000 4777 CpuRealtimeRuntime: 10000 4778 Devices: [] 4779 IpcMode: "" 4780 Memory: 0 4781 MemorySwap: 0 4782 MemoryReservation: 0 4783 KernelMemory: 0 4784 OomKillDisable: false 4785 OomScoreAdj: 500 4786 NetworkMode: "bridge" 4787 PidMode: "" 4788 PortBindings: {} 4789 Privileged: false 4790 ReadonlyRootfs: false 4791 PublishAllPorts: false 4792 RestartPolicy: 4793 MaximumRetryCount: 2 4794 Name: "on-failure" 4795 LogConfig: 4796 Type: "json-file" 4797 Sysctls: 4798 net.ipv4.ip_forward: "1" 4799 Ulimits: 4800 - {} 4801 VolumeDriver: "" 4802 ShmSize: 67108864 4803 HostnamePath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hostname" 4804 HostsPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/hosts" 4805 LogPath: "/var/lib/docker/containers/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b/1eb5fabf5a03807136561b3c00adcd2992b535d624d5e18b6cdc6a6844d9767b-json.log" 4806 Id: "ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39" 4807 Image: "04c5d3b7b0656168630d3ba35d8889bd0e9caafcaeb3004d2bfbc47e7c5d35d2" 4808 MountLabel: "" 4809 Name: "/boring_euclid" 4810 NetworkSettings: 4811 Bridge: "" 4812 SandboxID: "" 4813 HairpinMode: false 4814 LinkLocalIPv6Address: "" 4815 LinkLocalIPv6PrefixLen: 0 4816 SandboxKey: "" 4817 EndpointID: "" 4818 Gateway: "" 4819 GlobalIPv6Address: "" 4820 GlobalIPv6PrefixLen: 0 4821 IPAddress: "" 4822 IPPrefixLen: 0 4823 IPv6Gateway: "" 4824 MacAddress: "" 4825 Networks: 4826 bridge: 4827 NetworkID: "7ea29fc1412292a2d7bba362f9253545fecdfa8ce9a6e37dd10ba8bee7129812" 4828 EndpointID: "7587b82f0dada3656fda26588aee72630c6fab1536d36e394b2bfbcf898c971d" 4829 Gateway: "172.17.0.1" 4830 IPAddress: "172.17.0.2" 4831 IPPrefixLen: 16 4832 IPv6Gateway: "" 4833 GlobalIPv6Address: "" 4834 GlobalIPv6PrefixLen: 0 4835 MacAddress: "02:42:ac:12:00:02" 4836 Path: "/bin/sh" 4837 ProcessLabel: "" 4838 ResolvConfPath: "/var/lib/docker/containers/ba033ac4401106a3b513bc9d639eee123ad78ca3616b921167cd74b20e25ed39/resolv.conf" 4839 RestartCount: 1 4840 State: 4841 Error: "" 4842 ExitCode: 9 4843 FinishedAt: "2015-01-06T15:47:32.080254511Z" 4844 OOMKilled: false 4845 Dead: false 4846 Paused: false 4847 Pid: 0 4848 Restarting: false 4849 Running: true 4850 StartedAt: "2015-01-06T15:47:32.072697474Z" 4851 Status: "running" 4852 Mounts: 4853 - Name: "fac362...80535" 4854 Source: "/data" 4855 Destination: "/data" 4856 Driver: "local" 4857 Mode: "ro,Z" 4858 RW: false 4859 Propagation: "" 4860 404: 4861 description: "no such container" 4862 schema: 4863 $ref: "#/definitions/ErrorResponse" 4864 examples: 4865 application/json: 4866 message: "No such container: c2ada9df5af8" 4867 500: 4868 description: "server error" 4869 schema: 4870 $ref: "#/definitions/ErrorResponse" 4871 parameters: 4872 - name: "id" 4873 in: "path" 4874 required: true 4875 description: "ID or name of the container" 4876 type: "string" 4877 - name: "size" 4878 in: "query" 4879 type: "boolean" 4880 default: false 4881 description: "Return the size of container as fields `SizeRw` and `SizeRootFs`" 4882 tags: ["Container"] 4883 /containers/{id}/top: 4884 get: 4885 summary: "List processes running inside a container" 4886 description: "On Unix systems, this is done by running the `ps` command. This endpoint is not supported on Windows." 4887 operationId: "ContainerTop" 4888 responses: 4889 200: 4890 description: "no error" 4891 schema: 4892 type: "object" 4893 properties: 4894 Titles: 4895 description: "The ps column titles" 4896 type: "array" 4897 items: 4898 type: "string" 4899 Processes: 4900 description: "Each process running in the container, where each is process is an array of values corresponding to the titles" 4901 type: "array" 4902 items: 4903 type: "array" 4904 items: 4905 type: "string" 4906 examples: 4907 application/json: 4908 Titles: 4909 - "UID" 4910 - "PID" 4911 - "PPID" 4912 - "C" 4913 - "STIME" 4914 - "TTY" 4915 - "TIME" 4916 - "CMD" 4917 Processes: 4918 - 4919 - "root" 4920 - "13642" 4921 - "882" 4922 - "0" 4923 - "17:03" 4924 - "pts/0" 4925 - "00:00:00" 4926 - "/bin/bash" 4927 - 4928 - "root" 4929 - "13735" 4930 - "13642" 4931 - "0" 4932 - "17:06" 4933 - "pts/0" 4934 - "00:00:00" 4935 - "sleep 10" 4936 404: 4937 description: "no such container" 4938 schema: 4939 $ref: "#/definitions/ErrorResponse" 4940 examples: 4941 application/json: 4942 message: "No such container: c2ada9df5af8" 4943 500: 4944 description: "server error" 4945 schema: 4946 $ref: "#/definitions/ErrorResponse" 4947 parameters: 4948 - name: "id" 4949 in: "path" 4950 required: true 4951 description: "ID or name of the container" 4952 type: "string" 4953 - name: "ps_args" 4954 in: "query" 4955 description: "The arguments to pass to `ps`. For example, `aux`" 4956 type: "string" 4957 default: "-ef" 4958 tags: ["Container"] 4959 /containers/{id}/logs: 4960 get: 4961 summary: "Get container logs" 4962 description: | 4963 Get `stdout` and `stderr` logs from a container. 4964 4965 Note: This endpoint works only for containers with the `json-file` or `journald` logging driver. 4966 operationId: "ContainerLogs" 4967 responses: 4968 101: 4969 description: "logs returned as a stream" 4970 schema: 4971 type: "string" 4972 format: "binary" 4973 200: 4974 description: "logs returned as a string in response body" 4975 schema: 4976 type: "string" 4977 404: 4978 description: "no such container" 4979 schema: 4980 $ref: "#/definitions/ErrorResponse" 4981 examples: 4982 application/json: 4983 message: "No such container: c2ada9df5af8" 4984 500: 4985 description: "server error" 4986 schema: 4987 $ref: "#/definitions/ErrorResponse" 4988 parameters: 4989 - name: "id" 4990 in: "path" 4991 required: true 4992 description: "ID or name of the container" 4993 type: "string" 4994 - name: "follow" 4995 in: "query" 4996 description: | 4997 Return the logs as a stream. 4998 4999 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). 5000 type: "boolean" 5001 default: false 5002 - name: "stdout" 5003 in: "query" 5004 description: "Return logs from `stdout`" 5005 type: "boolean" 5006 default: false 5007 - name: "stderr" 5008 in: "query" 5009 description: "Return logs from `stderr`" 5010 type: "boolean" 5011 default: false 5012 - name: "since" 5013 in: "query" 5014 description: "Only return logs since this time, as a UNIX timestamp" 5015 type: "integer" 5016 default: 0 5017 - name: "timestamps" 5018 in: "query" 5019 description: "Add timestamps to every log line" 5020 type: "boolean" 5021 default: false 5022 - name: "tail" 5023 in: "query" 5024 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." 5025 type: "string" 5026 default: "all" 5027 tags: ["Container"] 5028 /containers/{id}/changes: 5029 get: 5030 summary: "Get changes on a container’s filesystem" 5031 description: | 5032 Returns which files in a container's filesystem have been added, deleted, 5033 or modified. The `Kind` of modification can be one of: 5034 5035 - `0`: Modified 5036 - `1`: Added 5037 - `2`: Deleted 5038 operationId: "ContainerChanges" 5039 produces: ["application/json"] 5040 responses: 5041 200: 5042 description: "The list of changes" 5043 schema: 5044 type: "array" 5045 items: 5046 type: "object" 5047 x-go-name: "ContainerChangeResponseItem" 5048 required: [Path, Kind] 5049 properties: 5050 Path: 5051 description: "Path to file that has changed" 5052 type: "string" 5053 x-nullable: false 5054 Kind: 5055 description: "Kind of change" 5056 type: "integer" 5057 format: "uint8" 5058 enum: [0, 1, 2] 5059 x-nullable: false 5060 examples: 5061 application/json: 5062 - Path: "/dev" 5063 Kind: 0 5064 - Path: "/dev/kmsg" 5065 Kind: 1 5066 - Path: "/test" 5067 Kind: 1 5068 404: 5069 description: "no such container" 5070 schema: 5071 $ref: "#/definitions/ErrorResponse" 5072 examples: 5073 application/json: 5074 message: "No such container: c2ada9df5af8" 5075 500: 5076 description: "server error" 5077 schema: 5078 $ref: "#/definitions/ErrorResponse" 5079 parameters: 5080 - name: "id" 5081 in: "path" 5082 required: true 5083 description: "ID or name of the container" 5084 type: "string" 5085 tags: ["Container"] 5086 /containers/{id}/export: 5087 get: 5088 summary: "Export a container" 5089 description: "Export the contents of a container as a tarball." 5090 operationId: "ContainerExport" 5091 produces: 5092 - "application/octet-stream" 5093 responses: 5094 200: 5095 description: "no error" 5096 404: 5097 description: "no such container" 5098 schema: 5099 $ref: "#/definitions/ErrorResponse" 5100 examples: 5101 application/json: 5102 message: "No such container: c2ada9df5af8" 5103 500: 5104 description: "server error" 5105 schema: 5106 $ref: "#/definitions/ErrorResponse" 5107 parameters: 5108 - name: "id" 5109 in: "path" 5110 required: true 5111 description: "ID or name of the container" 5112 type: "string" 5113 tags: ["Container"] 5114 /containers/{id}/stats: 5115 get: 5116 summary: "Get container stats based on resource usage" 5117 description: | 5118 This endpoint returns a live stream of a container’s resource usage 5119 statistics. 5120 5121 The `precpu_stats` is the CPU statistic of last read, which is used 5122 for calculating the CPU usage percentage. It is not the same as the 5123 `cpu_stats` field. 5124 5125 If either `precpu_stats.online_cpus` or `cpu_stats.online_cpus` is 5126 nil then for compatibility with older daemons the length of the 5127 corresponding `cpu_usage.percpu_usage` array should be used. 5128 operationId: "ContainerStats" 5129 produces: ["application/json"] 5130 responses: 5131 200: 5132 description: "no error" 5133 schema: 5134 type: "object" 5135 examples: 5136 application/json: 5137 read: "2015-01-08T22:57:31.547920715Z" 5138 pids_stats: 5139 current: 3 5140 networks: 5141 eth0: 5142 rx_bytes: 5338 5143 rx_dropped: 0 5144 rx_errors: 0 5145 rx_packets: 36 5146 tx_bytes: 648 5147 tx_dropped: 0 5148 tx_errors: 0 5149 tx_packets: 8 5150 eth5: 5151 rx_bytes: 4641 5152 rx_dropped: 0 5153 rx_errors: 0 5154 rx_packets: 26 5155 tx_bytes: 690 5156 tx_dropped: 0 5157 tx_errors: 0 5158 tx_packets: 9 5159 memory_stats: 5160 stats: 5161 total_pgmajfault: 0 5162 cache: 0 5163 mapped_file: 0 5164 total_inactive_file: 0 5165 pgpgout: 414 5166 rss: 6537216 5167 total_mapped_file: 0 5168 writeback: 0 5169 unevictable: 0 5170 pgpgin: 477 5171 total_unevictable: 0 5172 pgmajfault: 0 5173 total_rss: 6537216 5174 total_rss_huge: 6291456 5175 total_writeback: 0 5176 total_inactive_anon: 0 5177 rss_huge: 6291456 5178 hierarchical_memory_limit: 67108864 5179 total_pgfault: 964 5180 total_active_file: 0 5181 active_anon: 6537216 5182 total_active_anon: 6537216 5183 total_pgpgout: 414 5184 total_cache: 0 5185 inactive_anon: 0 5186 active_file: 0 5187 pgfault: 964 5188 inactive_file: 0 5189 total_pgpgin: 477 5190 max_usage: 6651904 5191 usage: 6537216 5192 failcnt: 0 5193 limit: 67108864 5194 blkio_stats: {} 5195 cpu_stats: 5196 cpu_usage: 5197 percpu_usage: 5198 - 8646879 5199 - 24472255 5200 - 36438778 5201 - 30657443 5202 usage_in_usermode: 50000000 5203 total_usage: 100215355 5204 usage_in_kernelmode: 30000000 5205 system_cpu_usage: 739306590000000 5206 online_cpus: 4 5207 throttling_data: 5208 periods: 0 5209 throttled_periods: 0 5210 throttled_time: 0 5211 precpu_stats: 5212 cpu_usage: 5213 percpu_usage: 5214 - 8646879 5215 - 24350896 5216 - 36438778 5217 - 30657443 5218 usage_in_usermode: 50000000 5219 total_usage: 100093996 5220 usage_in_kernelmode: 30000000 5221 system_cpu_usage: 9492140000000 5222 online_cpus: 4 5223 throttling_data: 5224 periods: 0 5225 throttled_periods: 0 5226 throttled_time: 0 5227 404: 5228 description: "no such container" 5229 schema: 5230 $ref: "#/definitions/ErrorResponse" 5231 examples: 5232 application/json: 5233 message: "No such container: c2ada9df5af8" 5234 500: 5235 description: "server error" 5236 schema: 5237 $ref: "#/definitions/ErrorResponse" 5238 parameters: 5239 - name: "id" 5240 in: "path" 5241 required: true 5242 description: "ID or name of the container" 5243 type: "string" 5244 - name: "stream" 5245 in: "query" 5246 description: "Stream the output. If false, the stats will be output once and then it will disconnect." 5247 type: "boolean" 5248 default: true 5249 tags: ["Container"] 5250 /containers/{id}/resize: 5251 post: 5252 summary: "Resize a container TTY" 5253 description: "Resize the TTY for a container. You must restart the container for the resize to take effect." 5254 operationId: "ContainerResize" 5255 consumes: 5256 - "application/octet-stream" 5257 produces: 5258 - "text/plain" 5259 responses: 5260 200: 5261 description: "no error" 5262 404: 5263 description: "no such container" 5264 schema: 5265 $ref: "#/definitions/ErrorResponse" 5266 examples: 5267 application/json: 5268 message: "No such container: c2ada9df5af8" 5269 500: 5270 description: "cannot resize container" 5271 schema: 5272 $ref: "#/definitions/ErrorResponse" 5273 parameters: 5274 - name: "id" 5275 in: "path" 5276 required: true 5277 description: "ID or name of the container" 5278 type: "string" 5279 - name: "h" 5280 in: "query" 5281 description: "Height of the tty session in characters" 5282 type: "integer" 5283 - name: "w" 5284 in: "query" 5285 description: "Width of the tty session in characters" 5286 type: "integer" 5287 tags: ["Container"] 5288 /containers/{id}/start: 5289 post: 5290 summary: "Start a container" 5291 operationId: "ContainerStart" 5292 responses: 5293 204: 5294 description: "no error" 5295 304: 5296 description: "container already started" 5297 schema: 5298 $ref: "#/definitions/ErrorResponse" 5299 404: 5300 description: "no such container" 5301 schema: 5302 $ref: "#/definitions/ErrorResponse" 5303 examples: 5304 application/json: 5305 message: "No such container: c2ada9df5af8" 5306 500: 5307 description: "server error" 5308 schema: 5309 $ref: "#/definitions/ErrorResponse" 5310 parameters: 5311 - name: "id" 5312 in: "path" 5313 required: true 5314 description: "ID or name of the container" 5315 type: "string" 5316 - name: "detachKeys" 5317 in: "query" 5318 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 `_`." 5319 type: "string" 5320 tags: ["Container"] 5321 /containers/{id}/stop: 5322 post: 5323 summary: "Stop a container" 5324 operationId: "ContainerStop" 5325 responses: 5326 204: 5327 description: "no error" 5328 304: 5329 description: "container already stopped" 5330 schema: 5331 $ref: "#/definitions/ErrorResponse" 5332 404: 5333 description: "no such container" 5334 schema: 5335 $ref: "#/definitions/ErrorResponse" 5336 examples: 5337 application/json: 5338 message: "No such container: c2ada9df5af8" 5339 500: 5340 description: "server error" 5341 schema: 5342 $ref: "#/definitions/ErrorResponse" 5343 parameters: 5344 - name: "id" 5345 in: "path" 5346 required: true 5347 description: "ID or name of the container" 5348 type: "string" 5349 - name: "t" 5350 in: "query" 5351 description: "Number of seconds to wait before killing the container" 5352 type: "integer" 5353 tags: ["Container"] 5354 /containers/{id}/restart: 5355 post: 5356 summary: "Restart a container" 5357 operationId: "ContainerRestart" 5358 responses: 5359 204: 5360 description: "no error" 5361 404: 5362 description: "no such container" 5363 schema: 5364 $ref: "#/definitions/ErrorResponse" 5365 examples: 5366 application/json: 5367 message: "No such container: c2ada9df5af8" 5368 500: 5369 description: "server error" 5370 schema: 5371 $ref: "#/definitions/ErrorResponse" 5372 parameters: 5373 - name: "id" 5374 in: "path" 5375 required: true 5376 description: "ID or name of the container" 5377 type: "string" 5378 - name: "t" 5379 in: "query" 5380 description: "Number of seconds to wait before killing the container" 5381 type: "integer" 5382 tags: ["Container"] 5383 /containers/{id}/kill: 5384 post: 5385 summary: "Kill a container" 5386 description: "Send a POSIX signal to a container, defaulting to killing to the container." 5387 operationId: "ContainerKill" 5388 responses: 5389 204: 5390 description: "no error" 5391 404: 5392 description: "no such container" 5393 schema: 5394 $ref: "#/definitions/ErrorResponse" 5395 examples: 5396 application/json: 5397 message: "No such container: c2ada9df5af8" 5398 500: 5399 description: "server error" 5400 schema: 5401 $ref: "#/definitions/ErrorResponse" 5402 parameters: 5403 - name: "id" 5404 in: "path" 5405 required: true 5406 description: "ID or name of the container" 5407 type: "string" 5408 - name: "signal" 5409 in: "query" 5410 description: "Signal to send to the container as an integer or string (e.g. `SIGINT`)" 5411 type: "string" 5412 default: "SIGKILL" 5413 tags: ["Container"] 5414 /containers/{id}/update: 5415 post: 5416 summary: "Update a container" 5417 description: "Change various configuration options of a container without having to recreate it." 5418 operationId: "ContainerUpdate" 5419 consumes: ["application/json"] 5420 produces: ["application/json"] 5421 responses: 5422 200: 5423 description: "The container has been updated." 5424 schema: 5425 type: "object" 5426 properties: 5427 Warnings: 5428 type: "array" 5429 items: 5430 type: "string" 5431 404: 5432 description: "no such container" 5433 schema: 5434 $ref: "#/definitions/ErrorResponse" 5435 examples: 5436 application/json: 5437 message: "No such container: c2ada9df5af8" 5438 500: 5439 description: "server error" 5440 schema: 5441 $ref: "#/definitions/ErrorResponse" 5442 parameters: 5443 - name: "id" 5444 in: "path" 5445 required: true 5446 description: "ID or name of the container" 5447 type: "string" 5448 - name: "update" 5449 in: "body" 5450 required: true 5451 schema: 5452 allOf: 5453 - $ref: "#/definitions/Resources" 5454 - type: "object" 5455 properties: 5456 RestartPolicy: 5457 $ref: "#/definitions/RestartPolicy" 5458 example: 5459 BlkioWeight: 300 5460 CpuShares: 512 5461 CpuPeriod: 100000 5462 CpuQuota: 50000 5463 CpuRealtimePeriod: 1000000 5464 CpuRealtimeRuntime: 10000 5465 CpusetCpus: "0,1" 5466 CpusetMems: "0" 5467 Memory: 314572800 5468 MemorySwap: 514288000 5469 MemoryReservation: 209715200 5470 KernelMemory: 52428800 5471 RestartPolicy: 5472 MaximumRetryCount: 4 5473 Name: "on-failure" 5474 tags: ["Container"] 5475 /containers/{id}/rename: 5476 post: 5477 summary: "Rename a container" 5478 operationId: "ContainerRename" 5479 responses: 5480 204: 5481 description: "no error" 5482 404: 5483 description: "no such container" 5484 schema: 5485 $ref: "#/definitions/ErrorResponse" 5486 examples: 5487 application/json: 5488 message: "No such container: c2ada9df5af8" 5489 409: 5490 description: "name already in use" 5491 schema: 5492 $ref: "#/definitions/ErrorResponse" 5493 500: 5494 description: "server error" 5495 schema: 5496 $ref: "#/definitions/ErrorResponse" 5497 parameters: 5498 - name: "id" 5499 in: "path" 5500 required: true 5501 description: "ID or name of the container" 5502 type: "string" 5503 - name: "name" 5504 in: "query" 5505 required: true 5506 description: "New name for the container" 5507 type: "string" 5508 tags: ["Container"] 5509 /containers/{id}/pause: 5510 post: 5511 summary: "Pause a container" 5512 description: | 5513 Use the cgroups freezer to suspend all processes in a container. 5514 5515 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. 5516 operationId: "ContainerPause" 5517 responses: 5518 204: 5519 description: "no error" 5520 404: 5521 description: "no such container" 5522 schema: 5523 $ref: "#/definitions/ErrorResponse" 5524 examples: 5525 application/json: 5526 message: "No such container: c2ada9df5af8" 5527 500: 5528 description: "server error" 5529 schema: 5530 $ref: "#/definitions/ErrorResponse" 5531 parameters: 5532 - name: "id" 5533 in: "path" 5534 required: true 5535 description: "ID or name of the container" 5536 type: "string" 5537 tags: ["Container"] 5538 /containers/{id}/unpause: 5539 post: 5540 summary: "Unpause a container" 5541 description: "Resume a container which has been paused." 5542 operationId: "ContainerUnpause" 5543 responses: 5544 204: 5545 description: "no error" 5546 404: 5547 description: "no such container" 5548 schema: 5549 $ref: "#/definitions/ErrorResponse" 5550 examples: 5551 application/json: 5552 message: "No such container: c2ada9df5af8" 5553 500: 5554 description: "server error" 5555 schema: 5556 $ref: "#/definitions/ErrorResponse" 5557 parameters: 5558 - name: "id" 5559 in: "path" 5560 required: true 5561 description: "ID or name of the container" 5562 type: "string" 5563 tags: ["Container"] 5564 /containers/{id}/attach: 5565 post: 5566 summary: "Attach to a container" 5567 description: | 5568 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. 5569 5570 Either the `stream` or `logs` parameter must be `true` for this endpoint to do anything. 5571 5572 See [the documentation for the `docker attach` command](https://docs.docker.com/engine/reference/commandline/attach/) for more details. 5573 5574 ### Hijacking 5575 5576 This endpoint hijacks the HTTP connection to transport `stdin`, `stdout`, and `stderr` on the same socket. 5577 5578 This is the response from the daemon for an attach request: 5579 5580 ``` 5581 HTTP/1.1 200 OK 5582 Content-Type: application/vnd.docker.raw-stream 5583 5584 [STREAM] 5585 ``` 5586 5587 After the headers and two new lines, the TCP connection can now be used for raw, bidirectional communication between the client and server. 5588 5589 To hint potential proxies about connection hijacking, the Docker client can also optionally send connection upgrade headers. 5590 5591 For example, the client sends this request to upgrade the connection: 5592 5593 ``` 5594 POST /containers/16253994b7c4/attach?stream=1&stdout=1 HTTP/1.1 5595 Upgrade: tcp 5596 Connection: Upgrade 5597 ``` 5598 5599 The Docker daemon will respond with a `101 UPGRADED` response, and will similarly follow with the raw stream: 5600 5601 ``` 5602 HTTP/1.1 101 UPGRADED 5603 Content-Type: application/vnd.docker.raw-stream 5604 Connection: Upgrade 5605 Upgrade: tcp 5606 5607 [STREAM] 5608 ``` 5609 5610 ### Stream format 5611 5612 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. 5613 5614 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`). 5615 5616 It is encoded on the first eight bytes like this: 5617 5618 ```go 5619 header := [8]byte{STREAM_TYPE, 0, 0, 0, SIZE1, SIZE2, SIZE3, SIZE4} 5620 ``` 5621 5622 `STREAM_TYPE` can be: 5623 5624 - 0: `stdin` (is written on `stdout`) 5625 - 1: `stdout` 5626 - 2: `stderr` 5627 5628 `SIZE1, SIZE2, SIZE3, SIZE4` are the four bytes of the `uint32` size encoded as big endian. 5629 5630 Following the header is the payload, which is the specified number of bytes of `STREAM_TYPE`. 5631 5632 The simplest way to implement this protocol is the following: 5633 5634 1. Read 8 bytes. 5635 2. Choose `stdout` or `stderr` depending on the first byte. 5636 3. Extract the frame size from the last four bytes. 5637 4. Read the extracted size and output it on the correct output. 5638 5. Goto 1. 5639 5640 ### Stream format when using a TTY 5641 5642 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`. 5643 5644 operationId: "ContainerAttach" 5645 produces: 5646 - "application/vnd.docker.raw-stream" 5647 responses: 5648 101: 5649 description: "no error, hints proxy about hijacking" 5650 200: 5651 description: "no error, no upgrade header found" 5652 400: 5653 description: "bad parameter" 5654 schema: 5655 $ref: "#/definitions/ErrorResponse" 5656 404: 5657 description: "no such container" 5658 schema: 5659 $ref: "#/definitions/ErrorResponse" 5660 examples: 5661 application/json: 5662 message: "No such container: c2ada9df5af8" 5663 500: 5664 description: "server error" 5665 schema: 5666 $ref: "#/definitions/ErrorResponse" 5667 parameters: 5668 - name: "id" 5669 in: "path" 5670 required: true 5671 description: "ID or name of the container" 5672 type: "string" 5673 - name: "detachKeys" 5674 in: "query" 5675 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 `_`." 5676 type: "string" 5677 - name: "logs" 5678 in: "query" 5679 description: | 5680 Replay previous logs from the container. 5681 5682 This is useful for attaching to a container that has started and you want to output everything since the container started. 5683 5684 If `stream` is also enabled, once all the previous output has been returned, it will seamlessly transition into streaming current output. 5685 type: "boolean" 5686 default: false 5687 - name: "stream" 5688 in: "query" 5689 description: "Stream attached streams from the time the request was made onwards" 5690 type: "boolean" 5691 default: false 5692 - name: "stdin" 5693 in: "query" 5694 description: "Attach to `stdin`" 5695 type: "boolean" 5696 default: false 5697 - name: "stdout" 5698 in: "query" 5699 description: "Attach to `stdout`" 5700 type: "boolean" 5701 default: false 5702 - name: "stderr" 5703 in: "query" 5704 description: "Attach to `stderr`" 5705 type: "boolean" 5706 default: false 5707 tags: ["Container"] 5708 /containers/{id}/attach/ws: 5709 get: 5710 summary: "Attach to a container via a websocket" 5711 operationId: "ContainerAttachWebsocket" 5712 responses: 5713 101: 5714 description: "no error, hints proxy about hijacking" 5715 200: 5716 description: "no error, no upgrade header found" 5717 400: 5718 description: "bad parameter" 5719 schema: 5720 $ref: "#/definitions/ErrorResponse" 5721 404: 5722 description: "no such container" 5723 schema: 5724 $ref: "#/definitions/ErrorResponse" 5725 examples: 5726 application/json: 5727 message: "No such container: c2ada9df5af8" 5728 500: 5729 description: "server error" 5730 schema: 5731 $ref: "#/definitions/ErrorResponse" 5732 parameters: 5733 - name: "id" 5734 in: "path" 5735 required: true 5736 description: "ID or name of the container" 5737 type: "string" 5738 - name: "detachKeys" 5739 in: "query" 5740 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 `_`." 5741 type: "string" 5742 - name: "logs" 5743 in: "query" 5744 description: "Return logs" 5745 type: "boolean" 5746 default: false 5747 - name: "stream" 5748 in: "query" 5749 description: "Return stream" 5750 type: "boolean" 5751 default: false 5752 tags: ["Container"] 5753 /containers/{id}/wait: 5754 post: 5755 summary: "Wait for a container" 5756 description: "Block until a container stops, then returns the exit code." 5757 operationId: "ContainerWait" 5758 produces: ["application/json"] 5759 responses: 5760 200: 5761 description: "The container has exit." 5762 schema: 5763 type: "object" 5764 required: [StatusCode] 5765 properties: 5766 StatusCode: 5767 description: "Exit code of the container" 5768 type: "integer" 5769 x-nullable: false 5770 Error: 5771 description: "container waiting error, if any" 5772 type: "object" 5773 properties: 5774 Message: 5775 description: "Details of an error" 5776 type: "string" 5777 400: 5778 description: "bad parameter" 5779 schema: 5780 $ref: "#/definitions/ErrorResponse" 5781 404: 5782 description: "no such container" 5783 schema: 5784 $ref: "#/definitions/ErrorResponse" 5785 examples: 5786 application/json: 5787 message: "No such container: c2ada9df5af8" 5788 500: 5789 description: "server error" 5790 schema: 5791 $ref: "#/definitions/ErrorResponse" 5792 parameters: 5793 - name: "id" 5794 in: "path" 5795 required: true 5796 description: "ID or name of the container" 5797 type: "string" 5798 - name: "condition" 5799 in: "query" 5800 description: | 5801 Wait until a container state reaches the given condition. 5802 5803 Defaults to `not-running` if omitted or empty. 5804 type: "string" 5805 enum: 5806 - "not-running" 5807 - "next-exit" 5808 - "removed" 5809 default: "not-running" 5810 tags: ["Container"] 5811 /containers/{id}: 5812 delete: 5813 summary: "Remove a container" 5814 operationId: "ContainerDelete" 5815 responses: 5816 204: 5817 description: "no error" 5818 400: 5819 description: "bad parameter" 5820 schema: 5821 $ref: "#/definitions/ErrorResponse" 5822 404: 5823 description: "no such container" 5824 schema: 5825 $ref: "#/definitions/ErrorResponse" 5826 examples: 5827 application/json: 5828 message: "No such container: c2ada9df5af8" 5829 409: 5830 description: "conflict" 5831 schema: 5832 $ref: "#/definitions/ErrorResponse" 5833 examples: 5834 application/json: 5835 message: "You cannot remove a running container: c2ada9df5af8. Stop the container before attempting removal or force remove" 5836 500: 5837 description: "server error" 5838 schema: 5839 $ref: "#/definitions/ErrorResponse" 5840 parameters: 5841 - name: "id" 5842 in: "path" 5843 required: true 5844 description: "ID or name of the container" 5845 type: "string" 5846 - name: "v" 5847 in: "query" 5848 description: "Remove anonymous volumes associated with the container." 5849 type: "boolean" 5850 default: false 5851 - name: "force" 5852 in: "query" 5853 description: "If the container is running, kill it before removing it." 5854 type: "boolean" 5855 default: false 5856 - name: "link" 5857 in: "query" 5858 description: "Remove the specified link associated with the container." 5859 type: "boolean" 5860 default: false 5861 tags: ["Container"] 5862 /containers/{id}/archive: 5863 head: 5864 summary: "Get information about files in a container" 5865 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." 5866 operationId: "ContainerArchiveInfo" 5867 responses: 5868 200: 5869 description: "no error" 5870 headers: 5871 X-Docker-Container-Path-Stat: 5872 type: "string" 5873 description: "TODO" 5874 400: 5875 description: "Bad parameter" 5876 schema: 5877 $ref: "#/definitions/ErrorResponse" 5878 404: 5879 description: "Container or path does not exist" 5880 schema: 5881 $ref: "#/definitions/ErrorResponse" 5882 examples: 5883 application/json: 5884 message: "No such container: c2ada9df5af8" 5885 500: 5886 description: "Server error" 5887 schema: 5888 $ref: "#/definitions/ErrorResponse" 5889 parameters: 5890 - name: "id" 5891 in: "path" 5892 required: true 5893 description: "ID or name of the container" 5894 type: "string" 5895 - name: "path" 5896 in: "query" 5897 required: true 5898 description: "Resource in the container’s filesystem to archive." 5899 type: "string" 5900 tags: ["Container"] 5901 get: 5902 summary: "Get an archive of a filesystem resource in a container" 5903 description: "Get a tar archive of a resource in the filesystem of container id." 5904 operationId: "ContainerArchive" 5905 produces: ["application/x-tar"] 5906 responses: 5907 200: 5908 description: "no error" 5909 400: 5910 description: "Bad parameter" 5911 schema: 5912 $ref: "#/definitions/ErrorResponse" 5913 404: 5914 description: "Container or path does not exist" 5915 schema: 5916 $ref: "#/definitions/ErrorResponse" 5917 examples: 5918 application/json: 5919 message: "No such container: c2ada9df5af8" 5920 500: 5921 description: "server error" 5922 schema: 5923 $ref: "#/definitions/ErrorResponse" 5924 parameters: 5925 - name: "id" 5926 in: "path" 5927 required: true 5928 description: "ID or name of the container" 5929 type: "string" 5930 - name: "path" 5931 in: "query" 5932 required: true 5933 description: "Resource in the container’s filesystem to archive." 5934 type: "string" 5935 tags: ["Container"] 5936 put: 5937 summary: "Extract an archive of files or folders to a directory in a container" 5938 description: | 5939 Upload a tar archive to be extracted to a path in the filesystem of container id. 5940 `path` parameter is asserted to be a directory. If it exists as a file, 400 error 5941 will be returned with message "not a directory". 5942 operationId: "PutContainerArchive" 5943 consumes: ["application/x-tar", "application/octet-stream"] 5944 responses: 5945 200: 5946 description: "The content was extracted successfully" 5947 400: 5948 description: "Bad parameter" 5949 schema: 5950 $ref: "#/definitions/ErrorResponse" 5951 examples: 5952 application/json: 5953 message: "not a directory" 5954 403: 5955 description: "Permission denied, the volume or container rootfs is marked as read-only." 5956 schema: 5957 $ref: "#/definitions/ErrorResponse" 5958 404: 5959 description: "No such container or path does not exist inside the container" 5960 schema: 5961 $ref: "#/definitions/ErrorResponse" 5962 examples: 5963 application/json: 5964 message: "No such container: c2ada9df5af8" 5965 500: 5966 description: "Server error" 5967 schema: 5968 $ref: "#/definitions/ErrorResponse" 5969 parameters: 5970 - name: "id" 5971 in: "path" 5972 required: true 5973 description: "ID or name of the container" 5974 type: "string" 5975 - name: "path" 5976 in: "query" 5977 required: true 5978 description: "Path to a directory in the container to extract the archive’s contents into. " 5979 type: "string" 5980 - name: "noOverwriteDirNonDir" 5981 in: "query" 5982 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." 5983 type: "string" 5984 - name: "inputStream" 5985 in: "body" 5986 required: true 5987 description: "The input stream must be a tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz." 5988 schema: 5989 type: "string" 5990 tags: ["Container"] 5991 /containers/prune: 5992 post: 5993 summary: "Delete stopped containers" 5994 produces: 5995 - "application/json" 5996 operationId: "ContainerPrune" 5997 parameters: 5998 - name: "filters" 5999 in: "query" 6000 description: | 6001 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 6002 6003 Available filters: 6004 - `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. 6005 - `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. 6006 type: "string" 6007 responses: 6008 200: 6009 description: "No error" 6010 schema: 6011 type: "object" 6012 properties: 6013 ContainersDeleted: 6014 description: "Container IDs that were deleted" 6015 type: "array" 6016 items: 6017 type: "string" 6018 SpaceReclaimed: 6019 description: "Disk space reclaimed in bytes" 6020 type: "integer" 6021 format: "int64" 6022 500: 6023 description: "Server error" 6024 schema: 6025 $ref: "#/definitions/ErrorResponse" 6026 tags: ["Container"] 6027 /images/json: 6028 get: 6029 summary: "List Images" 6030 description: "Returns a list of images on the server. Note that it uses a different, smaller representation of an image than inspecting a single image." 6031 operationId: "ImageList" 6032 produces: 6033 - "application/json" 6034 responses: 6035 200: 6036 description: "Summary image data for the images matching the query" 6037 schema: 6038 type: "array" 6039 items: 6040 $ref: "#/definitions/ImageSummary" 6041 examples: 6042 application/json: 6043 - Id: "sha256:e216a057b1cb1efc11f8a268f37ef62083e70b1b38323ba252e25ac88904a7e8" 6044 ParentId: "" 6045 RepoTags: 6046 - "ubuntu:12.04" 6047 - "ubuntu:precise" 6048 RepoDigests: 6049 - "ubuntu@sha256:992069aee4016783df6345315302fa59681aae51a8eeb2f889dea59290f21787" 6050 Created: 1474925151 6051 Size: 103579269 6052 VirtualSize: 103579269 6053 SharedSize: 0 6054 Labels: {} 6055 Containers: 2 6056 - Id: "sha256:3e314f95dcace0f5e4fd37b10862fe8398e3c60ed36600bc0ca5fda78b087175" 6057 ParentId: "" 6058 RepoTags: 6059 - "ubuntu:12.10" 6060 - "ubuntu:quantal" 6061 RepoDigests: 6062 - "ubuntu@sha256:002fba3e3255af10be97ea26e476692a7ebed0bb074a9ab960b2e7a1526b15d7" 6063 - "ubuntu@sha256:68ea0200f0b90df725d99d823905b04cf844f6039ef60c60bf3e019915017bd3" 6064 Created: 1403128455 6065 Size: 172064416 6066 VirtualSize: 172064416 6067 SharedSize: 0 6068 Labels: {} 6069 Containers: 5 6070 500: 6071 description: "server error" 6072 schema: 6073 $ref: "#/definitions/ErrorResponse" 6074 parameters: 6075 - name: "all" 6076 in: "query" 6077 description: "Show all images. Only images from a final layer (no children) are shown by default." 6078 type: "boolean" 6079 default: false 6080 - name: "filters" 6081 in: "query" 6082 description: | 6083 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: 6084 6085 - `before`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`) 6086 - `dangling=true` 6087 - `label=key` or `label="key=value"` of an image label 6088 - `reference`=(`<image-name>[:<tag>]`) 6089 - `since`=(`<image-name>[:<tag>]`, `<image id>` or `<image@digest>`) 6090 type: "string" 6091 - name: "digests" 6092 in: "query" 6093 description: "Show digest information as a `RepoDigests` field on each image." 6094 type: "boolean" 6095 default: false 6096 tags: ["Image"] 6097 /build: 6098 post: 6099 summary: "Build an image" 6100 description: | 6101 Build an image from a tar archive with a `Dockerfile` in it. 6102 6103 The `Dockerfile` specifies how the image is built from the tar archive. It is typically in the archive's root, but can be at a different path or have a different name by specifying the `dockerfile` parameter. [See the `Dockerfile` reference for more information](https://docs.docker.com/engine/reference/builder/). 6104 6105 The Docker daemon performs a preliminary validation of the `Dockerfile` before starting the build, and returns an error if the syntax is incorrect. After that, each instruction is run one-by-one until the ID of the new image is output. 6106 6107 The build is canceled if the client drops the connection by quitting or being killed. 6108 operationId: "ImageBuild" 6109 consumes: 6110 - "application/octet-stream" 6111 produces: 6112 - "application/json" 6113 parameters: 6114 - name: "inputStream" 6115 in: "body" 6116 description: "A tar archive compressed with one of the following algorithms: identity (no compression), gzip, bzip2, xz." 6117 schema: 6118 type: "string" 6119 format: "binary" 6120 - name: "dockerfile" 6121 in: "query" 6122 description: "Path within the build context to the `Dockerfile`. This is ignored if `remote` is specified and points to an external `Dockerfile`." 6123 type: "string" 6124 default: "Dockerfile" 6125 - name: "t" 6126 in: "query" 6127 description: "A name and optional tag to apply to the image in the `name:tag` format. If you omit the tag the default `latest` value is assumed. You can provide several `t` parameters." 6128 type: "string" 6129 - name: "extrahosts" 6130 in: "query" 6131 description: "Extra hosts to add to /etc/hosts" 6132 type: "string" 6133 - name: "remote" 6134 in: "query" 6135 description: "A Git repository URI or HTTP/HTTPS context URI. If the URI points to a single text file, the file’s contents are placed into a file called `Dockerfile` and the image is built from that file. If the URI points to a tarball, the file is downloaded by the daemon and the contents therein used as the context for the build. If the URI points to a tarball and the `dockerfile` parameter is also specified, there must be a file with the corresponding path inside the tarball." 6136 type: "string" 6137 - name: "q" 6138 in: "query" 6139 description: "Suppress verbose build output." 6140 type: "boolean" 6141 default: false 6142 - name: "nocache" 6143 in: "query" 6144 description: "Do not use the cache when building the image." 6145 type: "boolean" 6146 default: false 6147 - name: "cachefrom" 6148 in: "query" 6149 description: "JSON array of images used for build cache resolution." 6150 type: "string" 6151 - name: "pull" 6152 in: "query" 6153 description: "Attempt to pull the image even if an older image exists locally." 6154 type: "string" 6155 - name: "rm" 6156 in: "query" 6157 description: "Remove intermediate containers after a successful build." 6158 type: "boolean" 6159 default: true 6160 - name: "forcerm" 6161 in: "query" 6162 description: "Always remove intermediate containers, even upon failure." 6163 type: "boolean" 6164 default: false 6165 - name: "memory" 6166 in: "query" 6167 description: "Set memory limit for build." 6168 type: "integer" 6169 - name: "memswap" 6170 in: "query" 6171 description: "Total memory (memory + swap). Set as `-1` to disable swap." 6172 type: "integer" 6173 - name: "cpushares" 6174 in: "query" 6175 description: "CPU shares (relative weight)." 6176 type: "integer" 6177 - name: "cpusetcpus" 6178 in: "query" 6179 description: "CPUs in which to allow execution (e.g., `0-3`, `0,1`)." 6180 type: "string" 6181 - name: "cpuperiod" 6182 in: "query" 6183 description: "The length of a CPU period in microseconds." 6184 type: "integer" 6185 - name: "cpuquota" 6186 in: "query" 6187 description: "Microseconds of CPU time that the container can get in a CPU period." 6188 type: "integer" 6189 - name: "buildargs" 6190 in: "query" 6191 description: "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)" 6192 type: "integer" 6193 - name: "shmsize" 6194 in: "query" 6195 description: "Size of `/dev/shm` in bytes. The size must be greater than 0. If omitted the system uses 64MB." 6196 type: "integer" 6197 - name: "squash" 6198 in: "query" 6199 description: "Squash the resulting images layers into a single layer. *(Experimental release only.)*" 6200 type: "boolean" 6201 - name: "labels" 6202 in: "query" 6203 description: "Arbitrary key/value labels to set on the image, as a JSON map of string pairs." 6204 type: "string" 6205 - name: "networkmode" 6206 in: "query" 6207 description: "Sets the networking mode for the run commands during 6208 build. Supported standard values are: `bridge`, `host`, `none`, and 6209 `container:<name|id>`. Any other value is taken as a custom network's 6210 name to which this container should connect to." 6211 type: "string" 6212 - name: "Content-type" 6213 in: "header" 6214 type: "string" 6215 enum: 6216 - "application/x-tar" 6217 default: "application/x-tar" 6218 - name: "X-Registry-Config" 6219 in: "header" 6220 description: | 6221 This is a base64-encoded JSON object with auth configurations for multiple registries that a build may refer to. 6222 6223 The key is a registry URL, and the value is an auth configuration object, [as described in the authentication section](#section/Authentication). For example: 6224 6225 ``` 6226 { 6227 "docker.example.com": { 6228 "username": "janedoe", 6229 "password": "hunter2" 6230 }, 6231 "https://index.docker.io/v1/": { 6232 "username": "mobydock", 6233 "password": "conta1n3rize14" 6234 } 6235 } 6236 ``` 6237 6238 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. 6239 type: "string" 6240 - name: "platform" 6241 in: "query" 6242 description: "Platform in the format os[/arch[/variant]]" 6243 type: "string" 6244 default: "" 6245 responses: 6246 200: 6247 description: "no error" 6248 400: 6249 description: "Bad parameter" 6250 schema: 6251 $ref: "#/definitions/ErrorResponse" 6252 500: 6253 description: "server error" 6254 schema: 6255 $ref: "#/definitions/ErrorResponse" 6256 tags: ["Image"] 6257 /build/prune: 6258 post: 6259 summary: "Delete builder cache" 6260 produces: 6261 - "application/json" 6262 operationId: "BuildPrune" 6263 responses: 6264 200: 6265 description: "No error" 6266 schema: 6267 type: "object" 6268 properties: 6269 SpaceReclaimed: 6270 description: "Disk space reclaimed in bytes" 6271 type: "integer" 6272 format: "int64" 6273 500: 6274 description: "Server error" 6275 schema: 6276 $ref: "#/definitions/ErrorResponse" 6277 tags: ["Image"] 6278 /images/create: 6279 post: 6280 summary: "Create an image" 6281 description: "Create an image by either pulling it from a registry or importing it." 6282 operationId: "ImageCreate" 6283 consumes: 6284 - "text/plain" 6285 - "application/octet-stream" 6286 produces: 6287 - "application/json" 6288 responses: 6289 200: 6290 description: "no error" 6291 404: 6292 description: "repository does not exist or no read access" 6293 schema: 6294 $ref: "#/definitions/ErrorResponse" 6295 500: 6296 description: "server error" 6297 schema: 6298 $ref: "#/definitions/ErrorResponse" 6299 parameters: 6300 - name: "fromImage" 6301 in: "query" 6302 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." 6303 type: "string" 6304 - name: "fromSrc" 6305 in: "query" 6306 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." 6307 type: "string" 6308 - name: "repo" 6309 in: "query" 6310 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." 6311 type: "string" 6312 - name: "tag" 6313 in: "query" 6314 description: "Tag or digest. If empty when pulling an image, this causes all tags for the given image to be pulled." 6315 type: "string" 6316 - name: "inputImage" 6317 in: "body" 6318 description: "Image content if the value `-` has been specified in fromSrc query parameter" 6319 schema: 6320 type: "string" 6321 required: false 6322 - name: "X-Registry-Auth" 6323 in: "header" 6324 description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)" 6325 type: "string" 6326 - name: "platform" 6327 in: "query" 6328 description: "Platform in the format os[/arch[/variant]]" 6329 type: "string" 6330 default: "" 6331 tags: ["Image"] 6332 /images/{name}/json: 6333 get: 6334 summary: "Inspect an image" 6335 description: "Return low-level information about an image." 6336 operationId: "ImageInspect" 6337 produces: 6338 - "application/json" 6339 responses: 6340 200: 6341 description: "No error" 6342 schema: 6343 $ref: "#/definitions/Image" 6344 examples: 6345 application/json: 6346 Id: "sha256:85f05633ddc1c50679be2b16a0479ab6f7637f8884e0cfe0f4d20e1ebb3d6e7c" 6347 Container: "cb91e48a60d01f1e27028b4fc6819f4f290b3cf12496c8176ec714d0d390984a" 6348 Comment: "" 6349 Os: "linux" 6350 Architecture: "amd64" 6351 Parent: "sha256:91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 6352 ContainerConfig: 6353 Tty: false 6354 Hostname: "e611e15f9c9d" 6355 Domainname: "" 6356 AttachStdout: false 6357 PublishService: "" 6358 AttachStdin: false 6359 OpenStdin: false 6360 StdinOnce: false 6361 NetworkDisabled: false 6362 OnBuild: [] 6363 Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 6364 User: "" 6365 WorkingDir: "" 6366 MacAddress: "" 6367 AttachStderr: false 6368 Labels: 6369 com.example.license: "GPL" 6370 com.example.version: "1.0" 6371 com.example.vendor: "Acme" 6372 Env: 6373 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 6374 Cmd: 6375 - "/bin/sh" 6376 - "-c" 6377 - "#(nop) LABEL com.example.vendor=Acme com.example.license=GPL com.example.version=1.0" 6378 DockerVersion: "1.9.0-dev" 6379 VirtualSize: 188359297 6380 Size: 0 6381 Author: "" 6382 Created: "2015-09-10T08:30:53.26995814Z" 6383 GraphDriver: 6384 Name: "aufs" 6385 Data: {} 6386 RepoDigests: 6387 - "localhost:5000/test/busybox/example@sha256:cbbf2f9a99b47fc460d422812b6a5adff7dfee951d8fa2e4a98caa0382cfbdbf" 6388 RepoTags: 6389 - "example:1.0" 6390 - "example:latest" 6391 - "example:stable" 6392 Config: 6393 Image: "91e54dfb11794fad694460162bf0cb0a4fa710cfa3f60979c177d920813e267c" 6394 NetworkDisabled: false 6395 OnBuild: [] 6396 StdinOnce: false 6397 PublishService: "" 6398 AttachStdin: false 6399 OpenStdin: false 6400 Domainname: "" 6401 AttachStdout: false 6402 Tty: false 6403 Hostname: "e611e15f9c9d" 6404 Cmd: 6405 - "/bin/bash" 6406 Env: 6407 - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 6408 Labels: 6409 com.example.vendor: "Acme" 6410 com.example.version: "1.0" 6411 com.example.license: "GPL" 6412 MacAddress: "" 6413 AttachStderr: false 6414 WorkingDir: "" 6415 User: "" 6416 RootFS: 6417 Type: "layers" 6418 Layers: 6419 - "sha256:1834950e52ce4d5a88a1bbd131c537f4d0e56d10ff0dd69e66be3b7dfa9df7e6" 6420 - "sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef" 6421 404: 6422 description: "No such image" 6423 schema: 6424 $ref: "#/definitions/ErrorResponse" 6425 examples: 6426 application/json: 6427 message: "No such image: someimage (tag: latest)" 6428 500: 6429 description: "Server error" 6430 schema: 6431 $ref: "#/definitions/ErrorResponse" 6432 parameters: 6433 - name: "name" 6434 in: "path" 6435 description: "Image name or id" 6436 type: "string" 6437 required: true 6438 tags: ["Image"] 6439 /images/{name}/history: 6440 get: 6441 summary: "Get the history of an image" 6442 description: "Return parent layers of an image." 6443 operationId: "ImageHistory" 6444 produces: ["application/json"] 6445 responses: 6446 200: 6447 description: "List of image layers" 6448 schema: 6449 type: "array" 6450 items: 6451 type: "object" 6452 x-go-name: HistoryResponseItem 6453 required: [Id, Created, CreatedBy, Tags, Size, Comment] 6454 properties: 6455 Id: 6456 type: "string" 6457 x-nullable: false 6458 Created: 6459 type: "integer" 6460 format: "int64" 6461 x-nullable: false 6462 CreatedBy: 6463 type: "string" 6464 x-nullable: false 6465 Tags: 6466 type: "array" 6467 items: 6468 type: "string" 6469 Size: 6470 type: "integer" 6471 format: "int64" 6472 x-nullable: false 6473 Comment: 6474 type: "string" 6475 x-nullable: false 6476 examples: 6477 application/json: 6478 - Id: "3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710" 6479 Created: 1398108230 6480 CreatedBy: "/bin/sh -c #(nop) ADD file:eb15dbd63394e063b805a3c32ca7bf0266ef64676d5a6fab4801f2e81e2a5148 in /" 6481 Tags: 6482 - "ubuntu:lucid" 6483 - "ubuntu:10.04" 6484 Size: 182964289 6485 Comment: "" 6486 - Id: "6cfa4d1f33fb861d4d114f43b25abd0ac737509268065cdfd69d544a59c85ab8" 6487 Created: 1398108222 6488 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/" 6489 Tags: [] 6490 Size: 0 6491 Comment: "" 6492 - Id: "511136ea3c5a64f264b78b5433614aec563103b4d4702f3ba7d4d2698e22c158" 6493 Created: 1371157430 6494 CreatedBy: "" 6495 Tags: 6496 - "scratch12:latest" 6497 - "scratch:latest" 6498 Size: 0 6499 Comment: "Imported from -" 6500 404: 6501 description: "No such image" 6502 schema: 6503 $ref: "#/definitions/ErrorResponse" 6504 500: 6505 description: "Server error" 6506 schema: 6507 $ref: "#/definitions/ErrorResponse" 6508 parameters: 6509 - name: "name" 6510 in: "path" 6511 description: "Image name or ID" 6512 type: "string" 6513 required: true 6514 tags: ["Image"] 6515 /images/{name}/push: 6516 post: 6517 summary: "Push an image" 6518 description: | 6519 Push an image to a registry. 6520 6521 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`. 6522 6523 The push is cancelled if the HTTP connection is closed. 6524 operationId: "ImagePush" 6525 consumes: 6526 - "application/octet-stream" 6527 responses: 6528 200: 6529 description: "No error" 6530 404: 6531 description: "No such image" 6532 schema: 6533 $ref: "#/definitions/ErrorResponse" 6534 500: 6535 description: "Server error" 6536 schema: 6537 $ref: "#/definitions/ErrorResponse" 6538 parameters: 6539 - name: "name" 6540 in: "path" 6541 description: "Image name or ID." 6542 type: "string" 6543 required: true 6544 - name: "tag" 6545 in: "query" 6546 description: "The tag to associate with the image on the registry." 6547 type: "string" 6548 - name: "X-Registry-Auth" 6549 in: "header" 6550 description: "A base64-encoded auth configuration. [See the authentication section for details.](#section/Authentication)" 6551 type: "string" 6552 required: true 6553 tags: ["Image"] 6554 /images/{name}/tag: 6555 post: 6556 summary: "Tag an image" 6557 description: "Tag an image so that it becomes part of a repository." 6558 operationId: "ImageTag" 6559 responses: 6560 201: 6561 description: "No error" 6562 400: 6563 description: "Bad parameter" 6564 schema: 6565 $ref: "#/definitions/ErrorResponse" 6566 404: 6567 description: "No such image" 6568 schema: 6569 $ref: "#/definitions/ErrorResponse" 6570 409: 6571 description: "Conflict" 6572 schema: 6573 $ref: "#/definitions/ErrorResponse" 6574 500: 6575 description: "Server error" 6576 schema: 6577 $ref: "#/definitions/ErrorResponse" 6578 parameters: 6579 - name: "name" 6580 in: "path" 6581 description: "Image name or ID to tag." 6582 type: "string" 6583 required: true 6584 - name: "repo" 6585 in: "query" 6586 description: "The repository to tag in. For example, `someuser/someimage`." 6587 type: "string" 6588 - name: "tag" 6589 in: "query" 6590 description: "The name of the new tag." 6591 type: "string" 6592 tags: ["Image"] 6593 /images/{name}: 6594 delete: 6595 summary: "Remove an image" 6596 description: | 6597 Remove an image, along with any untagged parent images that were 6598 referenced by that image. 6599 6600 Images can't be removed if they have descendant images, are being 6601 used by a running container or are being used by a build. 6602 operationId: "ImageDelete" 6603 produces: ["application/json"] 6604 responses: 6605 200: 6606 description: "The image was deleted successfully" 6607 schema: 6608 type: "array" 6609 items: 6610 $ref: "#/definitions/ImageDeleteResponseItem" 6611 examples: 6612 application/json: 6613 - Untagged: "3e2f21a89f" 6614 - Deleted: "3e2f21a89f" 6615 - Deleted: "53b4f83ac9" 6616 404: 6617 description: "No such image" 6618 schema: 6619 $ref: "#/definitions/ErrorResponse" 6620 409: 6621 description: "Conflict" 6622 schema: 6623 $ref: "#/definitions/ErrorResponse" 6624 500: 6625 description: "Server error" 6626 schema: 6627 $ref: "#/definitions/ErrorResponse" 6628 parameters: 6629 - name: "name" 6630 in: "path" 6631 description: "Image name or ID" 6632 type: "string" 6633 required: true 6634 - name: "force" 6635 in: "query" 6636 description: "Remove the image even if it is being used by stopped containers or has other tags" 6637 type: "boolean" 6638 default: false 6639 - name: "noprune" 6640 in: "query" 6641 description: "Do not delete untagged parent images" 6642 type: "boolean" 6643 default: false 6644 tags: ["Image"] 6645 /images/search: 6646 get: 6647 summary: "Search images" 6648 description: "Search for an image on Docker Hub." 6649 operationId: "ImageSearch" 6650 produces: 6651 - "application/json" 6652 responses: 6653 200: 6654 description: "No error" 6655 schema: 6656 type: "array" 6657 items: 6658 type: "object" 6659 properties: 6660 description: 6661 type: "string" 6662 is_official: 6663 type: "boolean" 6664 is_automated: 6665 type: "boolean" 6666 name: 6667 type: "string" 6668 star_count: 6669 type: "integer" 6670 examples: 6671 application/json: 6672 - description: "" 6673 is_official: false 6674 is_automated: false 6675 name: "wma55/u1210sshd" 6676 star_count: 0 6677 - description: "" 6678 is_official: false 6679 is_automated: false 6680 name: "jdswinbank/sshd" 6681 star_count: 0 6682 - description: "" 6683 is_official: false 6684 is_automated: false 6685 name: "vgauthier/sshd" 6686 star_count: 0 6687 500: 6688 description: "Server error" 6689 schema: 6690 $ref: "#/definitions/ErrorResponse" 6691 parameters: 6692 - name: "term" 6693 in: "query" 6694 description: "Term to search" 6695 type: "string" 6696 required: true 6697 - name: "limit" 6698 in: "query" 6699 description: "Maximum number of results to return" 6700 type: "integer" 6701 - name: "filters" 6702 in: "query" 6703 description: | 6704 A JSON encoded value of the filters (a `map[string][]string`) to process on the images list. Available filters: 6705 6706 - `is-automated=(true|false)` 6707 - `is-official=(true|false)` 6708 - `stars=<number>` Matches images that has at least 'number' stars. 6709 type: "string" 6710 tags: ["Image"] 6711 /images/prune: 6712 post: 6713 summary: "Delete unused images" 6714 produces: 6715 - "application/json" 6716 operationId: "ImagePrune" 6717 parameters: 6718 - name: "filters" 6719 in: "query" 6720 description: | 6721 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). Available filters: 6722 6723 - `dangling=<boolean>` When set to `true` (or `1`), prune only 6724 unused *and* untagged images. When set to `false` 6725 (or `0`), all unused images are pruned. 6726 - `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. 6727 - `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. 6728 type: "string" 6729 responses: 6730 200: 6731 description: "No error" 6732 schema: 6733 type: "object" 6734 properties: 6735 ImagesDeleted: 6736 description: "Images that were deleted" 6737 type: "array" 6738 items: 6739 $ref: "#/definitions/ImageDeleteResponseItem" 6740 SpaceReclaimed: 6741 description: "Disk space reclaimed in bytes" 6742 type: "integer" 6743 format: "int64" 6744 500: 6745 description: "Server error" 6746 schema: 6747 $ref: "#/definitions/ErrorResponse" 6748 tags: ["Image"] 6749 /auth: 6750 post: 6751 summary: "Check auth configuration" 6752 description: "Validate credentials for a registry and, if available, get an identity token for accessing the registry without password." 6753 operationId: "SystemAuth" 6754 consumes: ["application/json"] 6755 produces: ["application/json"] 6756 responses: 6757 200: 6758 description: "An identity token was generated successfully." 6759 schema: 6760 type: "object" 6761 required: [Status] 6762 properties: 6763 Status: 6764 description: "The status of the authentication" 6765 type: "string" 6766 x-nullable: false 6767 IdentityToken: 6768 description: "An opaque token used to authenticate a user after a successful login" 6769 type: "string" 6770 x-nullable: false 6771 examples: 6772 application/json: 6773 Status: "Login Succeeded" 6774 IdentityToken: "9cbaf023786cd7..." 6775 204: 6776 description: "No error" 6777 500: 6778 description: "Server error" 6779 schema: 6780 $ref: "#/definitions/ErrorResponse" 6781 parameters: 6782 - name: "authConfig" 6783 in: "body" 6784 description: "Authentication to check" 6785 schema: 6786 $ref: "#/definitions/AuthConfig" 6787 tags: ["System"] 6788 /info: 6789 get: 6790 summary: "Get system information" 6791 operationId: "SystemInfo" 6792 produces: 6793 - "application/json" 6794 responses: 6795 200: 6796 description: "No error" 6797 schema: 6798 $ref: "#/definitions/SystemInfo" 6799 500: 6800 description: "Server error" 6801 schema: 6802 $ref: "#/definitions/ErrorResponse" 6803 tags: ["System"] 6804 /version: 6805 get: 6806 summary: "Get version" 6807 description: "Returns the version of Docker that is running and various information about the system that Docker is running on." 6808 operationId: "SystemVersion" 6809 produces: ["application/json"] 6810 responses: 6811 200: 6812 description: "no error" 6813 schema: 6814 type: "object" 6815 properties: 6816 Version: 6817 type: "string" 6818 ApiVersion: 6819 type: "string" 6820 MinAPIVersion: 6821 type: "string" 6822 GitCommit: 6823 type: "string" 6824 GoVersion: 6825 type: "string" 6826 Os: 6827 type: "string" 6828 Arch: 6829 type: "string" 6830 KernelVersion: 6831 type: "string" 6832 Experimental: 6833 type: "boolean" 6834 BuildTime: 6835 type: "string" 6836 examples: 6837 application/json: 6838 Version: "17.04.0" 6839 Os: "linux" 6840 KernelVersion: "3.19.0-23-generic" 6841 GoVersion: "go1.7.5" 6842 GitCommit: "deadbee" 6843 Arch: "amd64" 6844 ApiVersion: "1.27" 6845 MinAPIVersion: "1.12" 6846 BuildTime: "2016-06-14T07:09:13.444803460+00:00" 6847 Experimental: true 6848 500: 6849 description: "server error" 6850 schema: 6851 $ref: "#/definitions/ErrorResponse" 6852 tags: ["System"] 6853 /_ping: 6854 get: 6855 summary: "Ping" 6856 description: "This is a dummy endpoint you can use to test if the server is accessible." 6857 operationId: "SystemPing" 6858 produces: ["text/plain"] 6859 responses: 6860 200: 6861 description: "no error" 6862 schema: 6863 type: "string" 6864 example: "OK" 6865 headers: 6866 API-Version: 6867 type: "string" 6868 description: "Max API Version the server supports" 6869 Docker-Experimental: 6870 type: "boolean" 6871 description: "If the server is running with experimental mode enabled" 6872 500: 6873 description: "server error" 6874 schema: 6875 $ref: "#/definitions/ErrorResponse" 6876 tags: ["System"] 6877 /commit: 6878 post: 6879 summary: "Create a new image from a container" 6880 operationId: "ImageCommit" 6881 consumes: 6882 - "application/json" 6883 produces: 6884 - "application/json" 6885 responses: 6886 201: 6887 description: "no error" 6888 schema: 6889 $ref: "#/definitions/IdResponse" 6890 404: 6891 description: "no such container" 6892 schema: 6893 $ref: "#/definitions/ErrorResponse" 6894 examples: 6895 application/json: 6896 message: "No such container: c2ada9df5af8" 6897 500: 6898 description: "server error" 6899 schema: 6900 $ref: "#/definitions/ErrorResponse" 6901 parameters: 6902 - name: "containerConfig" 6903 in: "body" 6904 description: "The container configuration" 6905 schema: 6906 $ref: "#/definitions/ContainerConfig" 6907 - name: "container" 6908 in: "query" 6909 description: "The ID or name of the container to commit" 6910 type: "string" 6911 - name: "repo" 6912 in: "query" 6913 description: "Repository name for the created image" 6914 type: "string" 6915 - name: "tag" 6916 in: "query" 6917 description: "Tag name for the create image" 6918 type: "string" 6919 - name: "comment" 6920 in: "query" 6921 description: "Commit message" 6922 type: "string" 6923 - name: "author" 6924 in: "query" 6925 description: "Author of the image (e.g., `John Hannibal Smith <hannibal@a-team.com>`)" 6926 type: "string" 6927 - name: "pause" 6928 in: "query" 6929 description: "Whether to pause the container before committing" 6930 type: "boolean" 6931 default: true 6932 - name: "changes" 6933 in: "query" 6934 description: "`Dockerfile` instructions to apply while committing" 6935 type: "string" 6936 tags: ["Image"] 6937 /events: 6938 get: 6939 summary: "Monitor events" 6940 description: | 6941 Stream real-time events from the server. 6942 6943 Various objects within Docker report events when something happens to them. 6944 6945 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` 6946 6947 Images report these events: `delete`, `import`, `load`, `pull`, `push`, `save`, `tag`, and `untag` 6948 6949 Volumes report these events: `create`, `mount`, `unmount`, and `destroy` 6950 6951 Networks report these events: `create`, `connect`, `disconnect`, `destroy`, `update`, and `remove` 6952 6953 The Docker daemon reports these events: `reload` 6954 6955 Services report these events: `create`, `update`, and `remove` 6956 6957 Nodes report these events: `create`, `update`, and `remove` 6958 6959 Secrets report these events: `create`, `update`, and `remove` 6960 6961 Configs report these events: `create`, `update`, and `remove` 6962 6963 operationId: "SystemEvents" 6964 produces: 6965 - "application/json" 6966 responses: 6967 200: 6968 description: "no error" 6969 schema: 6970 type: "object" 6971 properties: 6972 Type: 6973 description: "The type of object emitting the event" 6974 type: "string" 6975 Action: 6976 description: "The type of event" 6977 type: "string" 6978 Actor: 6979 type: "object" 6980 properties: 6981 ID: 6982 description: "The ID of the object emitting the event" 6983 type: "string" 6984 Attributes: 6985 description: "Various key/value attributes of the object, depending on its type" 6986 type: "object" 6987 additionalProperties: 6988 type: "string" 6989 time: 6990 description: "Timestamp of event" 6991 type: "integer" 6992 timeNano: 6993 description: "Timestamp of event, with nanosecond accuracy" 6994 type: "integer" 6995 format: "int64" 6996 examples: 6997 application/json: 6998 Type: "container" 6999 Action: "create" 7000 Actor: 7001 ID: "ede54ee1afda366ab42f824e8a5ffd195155d853ceaec74a927f249ea270c743" 7002 Attributes: 7003 com.example.some-label: "some-label-value" 7004 image: "alpine" 7005 name: "my-container" 7006 time: 1461943101 7007 400: 7008 description: "bad parameter" 7009 schema: 7010 $ref: "#/definitions/ErrorResponse" 7011 500: 7012 description: "server error" 7013 schema: 7014 $ref: "#/definitions/ErrorResponse" 7015 parameters: 7016 - name: "since" 7017 in: "query" 7018 description: "Show events created since this timestamp then stream new events." 7019 type: "string" 7020 - name: "until" 7021 in: "query" 7022 description: "Show events created until this timestamp then stop streaming." 7023 type: "string" 7024 - name: "filters" 7025 in: "query" 7026 description: | 7027 A JSON encoded value of filters (a `map[string][]string`) to process on the event list. Available filters: 7028 7029 - `config=<string>` config name or ID 7030 - `container=<string>` container name or ID 7031 - `daemon=<string>` daemon name or ID 7032 - `event=<string>` event type 7033 - `image=<string>` image name or ID 7034 - `label=<string>` image or container label 7035 - `network=<string>` network name or ID 7036 - `node=<string>` node ID 7037 - `plugin`=<string> plugin name or ID 7038 - `scope`=<string> local or swarm 7039 - `secret=<string>` secret name or ID 7040 - `service=<string>` service name or ID 7041 - `type=<string>` object to filter by, one of `container`, `image`, `volume`, `network`, `daemon`, `plugin`, `node`, `service`, `secret` or `config` 7042 - `volume=<string>` volume name 7043 type: "string" 7044 tags: ["System"] 7045 /system/df: 7046 get: 7047 summary: "Get data usage information" 7048 operationId: "SystemDataUsage" 7049 responses: 7050 200: 7051 description: "no error" 7052 schema: 7053 type: "object" 7054 properties: 7055 LayersSize: 7056 type: "integer" 7057 format: "int64" 7058 Images: 7059 type: "array" 7060 items: 7061 $ref: "#/definitions/ImageSummary" 7062 Containers: 7063 type: "array" 7064 items: 7065 $ref: "#/definitions/ContainerSummary" 7066 Volumes: 7067 type: "array" 7068 items: 7069 $ref: "#/definitions/Volume" 7070 example: 7071 LayersSize: 1092588 7072 Images: 7073 - 7074 Id: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 7075 ParentId: "" 7076 RepoTags: 7077 - "busybox:latest" 7078 RepoDigests: 7079 - "busybox@sha256:a59906e33509d14c036c8678d687bd4eec81ed7c4b8ce907b888c607f6a1e0e6" 7080 Created: 1466724217 7081 Size: 1092588 7082 SharedSize: 0 7083 VirtualSize: 1092588 7084 Labels: {} 7085 Containers: 1 7086 Containers: 7087 - 7088 Id: "e575172ed11dc01bfce087fb27bee502db149e1a0fad7c296ad300bbff178148" 7089 Names: 7090 - "/top" 7091 Image: "busybox" 7092 ImageID: "sha256:2b8fd9751c4c0f5dd266fcae00707e67a2545ef34f9a29354585f93dac906749" 7093 Command: "top" 7094 Created: 1472592424 7095 Ports: [] 7096 SizeRootFs: 1092588 7097 Labels: {} 7098 State: "exited" 7099 Status: "Exited (0) 56 minutes ago" 7100 HostConfig: 7101 NetworkMode: "default" 7102 NetworkSettings: 7103 Networks: 7104 bridge: 7105 IPAMConfig: null 7106 Links: null 7107 Aliases: null 7108 NetworkID: "d687bc59335f0e5c9ee8193e5612e8aee000c8c62ea170cfb99c098f95899d92" 7109 EndpointID: "8ed5115aeaad9abb174f68dcf135b49f11daf597678315231a32ca28441dec6a" 7110 Gateway: "172.18.0.1" 7111 IPAddress: "172.18.0.2" 7112 IPPrefixLen: 16 7113 IPv6Gateway: "" 7114 GlobalIPv6Address: "" 7115 GlobalIPv6PrefixLen: 0 7116 MacAddress: "02:42:ac:12:00:02" 7117 Mounts: [] 7118 Volumes: 7119 - 7120 Name: "my-volume" 7121 Driver: "local" 7122 Mountpoint: "/var/lib/docker/volumes/my-volume/_data" 7123 Labels: null 7124 Scope: "local" 7125 Options: null 7126 UsageData: 7127 Size: 10920104 7128 RefCount: 2 7129 500: 7130 description: "server error" 7131 schema: 7132 $ref: "#/definitions/ErrorResponse" 7133 tags: ["System"] 7134 /images/{name}/get: 7135 get: 7136 summary: "Export an image" 7137 description: | 7138 Get a tarball containing all images and metadata for a repository. 7139 7140 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. 7141 7142 ### Image tarball format 7143 7144 An image tarball contains one directory per image layer (named using its long ID), each containing these files: 7145 7146 - `VERSION`: currently `1.0` - the file format version 7147 - `json`: detailed layer information, similar to `docker inspect layer_id` 7148 - `layer.tar`: A tarfile containing the filesystem changes in this layer 7149 7150 The `layer.tar` file contains `aufs` style `.wh..wh.aufs` files and directories for storing attribute changes and deletions. 7151 7152 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. 7153 7154 ```json 7155 { 7156 "hello-world": { 7157 "latest": "565a9d68a73f6706862bfe8409a7f659776d4d60a8d096eb4a3cbce6999cc2a1" 7158 } 7159 } 7160 ``` 7161 operationId: "ImageGet" 7162 produces: 7163 - "application/x-tar" 7164 responses: 7165 200: 7166 description: "no error" 7167 schema: 7168 type: "string" 7169 format: "binary" 7170 500: 7171 description: "server error" 7172 schema: 7173 $ref: "#/definitions/ErrorResponse" 7174 parameters: 7175 - name: "name" 7176 in: "path" 7177 description: "Image name or ID" 7178 type: "string" 7179 required: true 7180 tags: ["Image"] 7181 /images/get: 7182 get: 7183 summary: "Export several images" 7184 description: | 7185 Get a tarball containing all images and metadata for several image repositories. 7186 7187 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. 7188 7189 For details on the format, see [the export image endpoint](#operation/ImageGet). 7190 operationId: "ImageGetAll" 7191 produces: 7192 - "application/x-tar" 7193 responses: 7194 200: 7195 description: "no error" 7196 schema: 7197 type: "string" 7198 format: "binary" 7199 500: 7200 description: "server error" 7201 schema: 7202 $ref: "#/definitions/ErrorResponse" 7203 parameters: 7204 - name: "names" 7205 in: "query" 7206 description: "Image names to filter by" 7207 type: "array" 7208 items: 7209 type: "string" 7210 tags: ["Image"] 7211 /images/load: 7212 post: 7213 summary: "Import images" 7214 description: | 7215 Load a set of images and tags into a repository. 7216 7217 For details on the format, see [the export image endpoint](#operation/ImageGet). 7218 operationId: "ImageLoad" 7219 consumes: 7220 - "application/x-tar" 7221 produces: 7222 - "application/json" 7223 responses: 7224 200: 7225 description: "no error" 7226 500: 7227 description: "server error" 7228 schema: 7229 $ref: "#/definitions/ErrorResponse" 7230 parameters: 7231 - name: "imagesTarball" 7232 in: "body" 7233 description: "Tar archive containing images" 7234 schema: 7235 type: "string" 7236 format: "binary" 7237 - name: "quiet" 7238 in: "query" 7239 description: "Suppress progress details during load." 7240 type: "boolean" 7241 default: false 7242 tags: ["Image"] 7243 /containers/{id}/exec: 7244 post: 7245 summary: "Create an exec instance" 7246 description: "Run a command inside a running container." 7247 operationId: "ContainerExec" 7248 consumes: 7249 - "application/json" 7250 produces: 7251 - "application/json" 7252 responses: 7253 201: 7254 description: "no error" 7255 schema: 7256 $ref: "#/definitions/IdResponse" 7257 404: 7258 description: "no such container" 7259 schema: 7260 $ref: "#/definitions/ErrorResponse" 7261 examples: 7262 application/json: 7263 message: "No such container: c2ada9df5af8" 7264 409: 7265 description: "container is paused" 7266 schema: 7267 $ref: "#/definitions/ErrorResponse" 7268 500: 7269 description: "Server error" 7270 schema: 7271 $ref: "#/definitions/ErrorResponse" 7272 parameters: 7273 - name: "execConfig" 7274 in: "body" 7275 description: "Exec configuration" 7276 schema: 7277 type: "object" 7278 properties: 7279 AttachStdin: 7280 type: "boolean" 7281 description: "Attach to `stdin` of the exec command." 7282 AttachStdout: 7283 type: "boolean" 7284 description: "Attach to `stdout` of the exec command." 7285 AttachStderr: 7286 type: "boolean" 7287 description: "Attach to `stderr` of the exec command." 7288 DetachKeys: 7289 type: "string" 7290 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 `_`." 7291 Tty: 7292 type: "boolean" 7293 description: "Allocate a pseudo-TTY." 7294 Env: 7295 description: "A list of environment variables in the form `[\"VAR=value\", ...]`." 7296 type: "array" 7297 items: 7298 type: "string" 7299 Cmd: 7300 type: "array" 7301 description: "Command to run, as a string or array of strings." 7302 items: 7303 type: "string" 7304 Privileged: 7305 type: "boolean" 7306 description: "Runs the exec process with extended privileges." 7307 default: false 7308 User: 7309 type: "string" 7310 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`." 7311 example: 7312 AttachStdin: false 7313 AttachStdout: true 7314 AttachStderr: true 7315 DetachKeys: "ctrl-p,ctrl-q" 7316 Tty: false 7317 Cmd: 7318 - "date" 7319 Env: 7320 - "FOO=bar" 7321 - "BAZ=quux" 7322 required: true 7323 - name: "id" 7324 in: "path" 7325 description: "ID or name of container" 7326 type: "string" 7327 required: true 7328 tags: ["Exec"] 7329 /exec/{id}/start: 7330 post: 7331 summary: "Start an exec instance" 7332 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." 7333 operationId: "ExecStart" 7334 consumes: 7335 - "application/json" 7336 produces: 7337 - "application/vnd.docker.raw-stream" 7338 responses: 7339 200: 7340 description: "No error" 7341 404: 7342 description: "No such exec instance" 7343 schema: 7344 $ref: "#/definitions/ErrorResponse" 7345 409: 7346 description: "Container is stopped or paused" 7347 schema: 7348 $ref: "#/definitions/ErrorResponse" 7349 parameters: 7350 - name: "execStartConfig" 7351 in: "body" 7352 schema: 7353 type: "object" 7354 properties: 7355 Detach: 7356 type: "boolean" 7357 description: "Detach from the command." 7358 Tty: 7359 type: "boolean" 7360 description: "Allocate a pseudo-TTY." 7361 example: 7362 Detach: false 7363 Tty: false 7364 - name: "id" 7365 in: "path" 7366 description: "Exec instance ID" 7367 required: true 7368 type: "string" 7369 tags: ["Exec"] 7370 /exec/{id}/resize: 7371 post: 7372 summary: "Resize an exec instance" 7373 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." 7374 operationId: "ExecResize" 7375 responses: 7376 200: 7377 description: "No error" 7378 400: 7379 description: "bad parameter" 7380 schema: 7381 $ref: "#/definitions/ErrorResponse" 7382 404: 7383 description: "No such exec instance" 7384 schema: 7385 $ref: "#/definitions/ErrorResponse" 7386 500: 7387 description: "Server error" 7388 schema: 7389 $ref: "#/definitions/ErrorResponse" 7390 parameters: 7391 - name: "id" 7392 in: "path" 7393 description: "Exec instance ID" 7394 required: true 7395 type: "string" 7396 - name: "h" 7397 in: "query" 7398 description: "Height of the TTY session in characters" 7399 type: "integer" 7400 - name: "w" 7401 in: "query" 7402 description: "Width of the TTY session in characters" 7403 type: "integer" 7404 tags: ["Exec"] 7405 /exec/{id}/json: 7406 get: 7407 summary: "Inspect an exec instance" 7408 description: "Return low-level information about an exec instance." 7409 operationId: "ExecInspect" 7410 produces: 7411 - "application/json" 7412 responses: 7413 200: 7414 description: "No error" 7415 schema: 7416 type: "object" 7417 properties: 7418 ID: 7419 type: "string" 7420 Running: 7421 type: "boolean" 7422 ExitCode: 7423 type: "integer" 7424 ProcessConfig: 7425 $ref: "#/definitions/ProcessConfig" 7426 OpenStdin: 7427 type: "boolean" 7428 OpenStderr: 7429 type: "boolean" 7430 OpenStdout: 7431 type: "boolean" 7432 ContainerID: 7433 type: "string" 7434 Pid: 7435 type: "integer" 7436 description: "The system process ID for the exec process." 7437 examples: 7438 application/json: 7439 CanRemove: false 7440 ContainerID: "b53ee82b53a40c7dca428523e34f741f3abc51d9f297a14ff874bf761b995126" 7441 DetachKeys: "" 7442 ExitCode: 2 7443 ID: "f33bbfb39f5b142420f4759b2348913bd4a8d1a6d7fd56499cb41a1bb91d7b3b" 7444 OpenStderr: true 7445 OpenStdin: true 7446 OpenStdout: true 7447 ProcessConfig: 7448 arguments: 7449 - "-c" 7450 - "exit 2" 7451 entrypoint: "sh" 7452 privileged: false 7453 tty: true 7454 user: "1000" 7455 Running: false 7456 Pid: 42000 7457 404: 7458 description: "No such exec instance" 7459 schema: 7460 $ref: "#/definitions/ErrorResponse" 7461 500: 7462 description: "Server error" 7463 schema: 7464 $ref: "#/definitions/ErrorResponse" 7465 parameters: 7466 - name: "id" 7467 in: "path" 7468 description: "Exec instance ID" 7469 required: true 7470 type: "string" 7471 tags: ["Exec"] 7472 7473 /volumes: 7474 get: 7475 summary: "List volumes" 7476 operationId: "VolumeList" 7477 produces: ["application/json"] 7478 responses: 7479 200: 7480 description: "Summary volume data that matches the query" 7481 schema: 7482 type: "object" 7483 required: [Volumes, Warnings] 7484 properties: 7485 Volumes: 7486 type: "array" 7487 x-nullable: false 7488 description: "List of volumes" 7489 items: 7490 $ref: "#/definitions/Volume" 7491 Warnings: 7492 type: "array" 7493 x-nullable: false 7494 description: "Warnings that occurred when fetching the list of volumes" 7495 items: 7496 type: "string" 7497 7498 examples: 7499 application/json: 7500 Volumes: 7501 - CreatedAt: "2017-07-19T12:00:26Z" 7502 Name: "tardis" 7503 Driver: "local" 7504 Mountpoint: "/var/lib/docker/volumes/tardis" 7505 Labels: 7506 com.example.some-label: "some-value" 7507 com.example.some-other-label: "some-other-value" 7508 Scope: "local" 7509 Options: 7510 device: "tmpfs" 7511 o: "size=100m,uid=1000" 7512 type: "tmpfs" 7513 Warnings: [] 7514 500: 7515 description: "Server error" 7516 schema: 7517 $ref: "#/definitions/ErrorResponse" 7518 parameters: 7519 - name: "filters" 7520 in: "query" 7521 description: | 7522 JSON encoded value of the filters (a `map[string][]string`) to 7523 process on the volumes list. Available filters: 7524 7525 - `dangling=<boolean>` When set to `true` (or `1`), returns all 7526 volumes that are not in use by a container. When set to `false` 7527 (or `0`), only volumes that are in use by one or more 7528 containers are returned. 7529 - `driver=<volume-driver-name>` Matches volumes based on their driver. 7530 - `label=<key>` or `label=<key>:<value>` Matches volumes based on 7531 the presence of a `label` alone or a `label` and a value. 7532 - `name=<volume-name>` Matches all or part of a volume name. 7533 type: "string" 7534 format: "json" 7535 tags: ["Volume"] 7536 7537 /volumes/create: 7538 post: 7539 summary: "Create a volume" 7540 operationId: "VolumeCreate" 7541 consumes: ["application/json"] 7542 produces: ["application/json"] 7543 responses: 7544 201: 7545 description: "The volume was created successfully" 7546 schema: 7547 $ref: "#/definitions/Volume" 7548 500: 7549 description: "Server error" 7550 schema: 7551 $ref: "#/definitions/ErrorResponse" 7552 parameters: 7553 - name: "volumeConfig" 7554 in: "body" 7555 required: true 7556 description: "Volume configuration" 7557 schema: 7558 type: "object" 7559 properties: 7560 Name: 7561 description: "The new volume's name. If not specified, Docker generates a name." 7562 type: "string" 7563 x-nullable: false 7564 Driver: 7565 description: "Name of the volume driver to use." 7566 type: "string" 7567 default: "local" 7568 x-nullable: false 7569 DriverOpts: 7570 description: "A mapping of driver options and values. These options are passed directly to the driver and are driver specific." 7571 type: "object" 7572 additionalProperties: 7573 type: "string" 7574 Labels: 7575 description: "User-defined key/value metadata." 7576 type: "object" 7577 additionalProperties: 7578 type: "string" 7579 example: 7580 Name: "tardis" 7581 Labels: 7582 com.example.some-label: "some-value" 7583 com.example.some-other-label: "some-other-value" 7584 Driver: "custom" 7585 tags: ["Volume"] 7586 7587 /volumes/{name}: 7588 get: 7589 summary: "Inspect a volume" 7590 operationId: "VolumeInspect" 7591 produces: ["application/json"] 7592 responses: 7593 200: 7594 description: "No error" 7595 schema: 7596 $ref: "#/definitions/Volume" 7597 404: 7598 description: "No such volume" 7599 schema: 7600 $ref: "#/definitions/ErrorResponse" 7601 500: 7602 description: "Server error" 7603 schema: 7604 $ref: "#/definitions/ErrorResponse" 7605 parameters: 7606 - name: "name" 7607 in: "path" 7608 required: true 7609 description: "Volume name or ID" 7610 type: "string" 7611 tags: ["Volume"] 7612 7613 delete: 7614 summary: "Remove a volume" 7615 description: "Instruct the driver to remove the volume." 7616 operationId: "VolumeDelete" 7617 responses: 7618 204: 7619 description: "The volume was removed" 7620 404: 7621 description: "No such volume or volume driver" 7622 schema: 7623 $ref: "#/definitions/ErrorResponse" 7624 409: 7625 description: "Volume is in use and cannot be removed" 7626 schema: 7627 $ref: "#/definitions/ErrorResponse" 7628 500: 7629 description: "Server error" 7630 schema: 7631 $ref: "#/definitions/ErrorResponse" 7632 parameters: 7633 - name: "name" 7634 in: "path" 7635 required: true 7636 description: "Volume name or ID" 7637 type: "string" 7638 - name: "force" 7639 in: "query" 7640 description: "Force the removal of the volume" 7641 type: "boolean" 7642 default: false 7643 tags: ["Volume"] 7644 /volumes/prune: 7645 post: 7646 summary: "Delete unused volumes" 7647 produces: 7648 - "application/json" 7649 operationId: "VolumePrune" 7650 parameters: 7651 - name: "filters" 7652 in: "query" 7653 description: | 7654 Filters to process on the prune list, encoded as JSON (a `map[string][]string`). 7655 7656 Available filters: 7657 - `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. 7658 type: "string" 7659 responses: 7660 200: 7661 description: "No error" 7662 schema: 7663 type: "object" 7664 properties: 7665 VolumesDeleted: 7666 description: "Volumes that were deleted" 7667 type: "array" 7668 items: 7669 type: "string" 7670 SpaceReclaimed: 7671 description: "Disk space reclaimed in bytes" 7672 type: "integer" 7673 format: "int64" 7674 500: 7675 description: "Server error" 7676 schema: 7677 $ref: "#/definitions/ErrorResponse" 7678 tags: ["Volume"] 7679 /networks: 7680 get: 7681 summary: "List networks" 7682 description: | 7683 Returns a list of networks. For details on the format, see [the network inspect endpoint](#operation/NetworkInspect). 7684 7685 Note that it uses a different, smaller representation of a network than inspecting a single network. For example, 7686 the list of containers attached to the network is not propagated in API versions 1.28 and up. 7687 operationId: "NetworkList" 7688 produces: 7689 - "application/json" 7690 responses: 7691 200: 7692 description: "No error" 7693 schema: 7694 type: "array" 7695 items: 7696 $ref: "#/definitions/Network" 7697 examples: 7698 application/json: 7699 - Name: "bridge" 7700 Id: "f2de39df4171b0dc801e8002d1d999b77256983dfc63041c0f34030aa3977566" 7701 Created: "2016-10-19T06:21:00.416543526Z" 7702 Scope: "local" 7703 Driver: "bridge" 7704 EnableIPv6: false 7705 Internal: false 7706 Attachable: false 7707 Ingress: false 7708 IPAM: 7709 Driver: "default" 7710 Config: 7711 - 7712 Subnet: "172.17.0.0/16" 7713 Options: 7714 com.docker.network.bridge.default_bridge: "true" 7715 com.docker.network.bridge.enable_icc: "true" 7716 com.docker.network.bridge.enable_ip_masquerade: "true" 7717 com.docker.network.bridge.host_binding_ipv4: "0.0.0.0" 7718 com.docker.network.bridge.name: "docker0" 7719 com.docker.network.driver.mtu: "1500" 7720 - Name: "none" 7721 Id: "e086a3893b05ab69242d3c44e49483a3bbbd3a26b46baa8f61ab797c1088d794" 7722 Created: "0001-01-01T00:00:00Z" 7723 Scope: "local" 7724 Driver: "null" 7725 EnableIPv6: false 7726 Internal: false 7727 Attachable: false 7728 Ingress: false 7729 IPAM: 7730 Driver: "default" 7731 Config: [] 7732 Containers: {} 7733 Options: {} 7734 - Name: "host" 7735 Id: "13e871235c677f196c4e1ecebb9dc733b9b2d2ab589e30c539efeda84a24215e" 7736 Created: "0001-01-01T00:00:00Z" 7737 Scope: "local" 7738 Driver: "host" 7739 EnableIPv6: false 7740 Internal: false 7741 Attachable: false 7742 Ingress: false 7743 IPAM: 7744 Driver: "default" 7745 Config: [] 7746 Containers: {} 7747 Options: {} 7748 500: 7749 description: "Server error" 7750 schema: 7751 $ref: "#/definitions/ErrorResponse" 7752 parameters: 7753 - name: "filters" 7754 in: "query" 7755 description: | 7756 JSON encoded value of the filters (a `map[string][]string`) to process on the networks list. Available filters: 7757 7758 - `driver=<driver-name>` Matches a network's driver. 7759 - `id=<network-id>` Matches all or part of a network ID. 7760 - `label=<key>` or `label=<key>=<value>` of a network label. 7761 - `name=<network-name>` Matches all or part of a network name. 7762 - `scope=["swarm"|"global"|"local"]` Filters networks by scope (`swarm`, `global`, or `local`). 7763 - `type=["custom"|"builtin"]` Filters networks by type. The `custom` keyword returns all user-defined networks. 7764 type: "string" 7765 tags: ["Network"] 7766 7767 /networks/{id}: 7768 get: 7769 summary: "Inspect a network" 7770 operationId: "NetworkInspect" 7771 produces: 7772 - "application/json" 7773 responses: 7774 200: 7775 description: "No error" 7776 schema: 7777 $ref: "#/definitions/Network" 7778 404: 7779 description: "Network not found" 7780 schema: 7781 $ref: "#/definitions/ErrorResponse" 7782 500: 7783 description: "Server error" 7784 schema: 7785 $ref: "#/definitions/ErrorResponse" 7786 parameters: 7787 - name: "id" 7788 in: "path" 7789 description: "Network ID or name" 7790 required: true 7791 type: "string" 7792 - name: "verbose" 7793 in: "query" 7794 description: "Detailed inspect output for troubleshooting" 7795 type: "boolean" 7796 default: false 7797 - name: "scope" 7798 in: "query" 7799 description: "Filter the network by scope (swarm, global, or local)" 7800 type: "string" 7801 tags: ["Network"] 7802 7803 delete: 7804 summary: "Remove a network" 7805 operationId: "NetworkDelete" 7806 responses: 7807 204: 7808 description: "No error" 7809 403: 7810 description: "operation not supported for pre-defined networks" 7811 schema: 7812 $ref: "#/definitions/ErrorResponse" 7813 404: 7814 description: "no such network" 7815 schema: 7816 $ref: "#/definitions/ErrorResponse" 7817 500: 7818 description: "Server error" 7819 schema: 7820 $ref: "#/definitions/ErrorResponse" 7821 parameters: 7822 - name: "id" 7823 in: "path" 7824 description: "Network ID or name" 7825 required: true 7826 type: "string" 7827 tags: ["Network"] 7828 7829 /networks/create: 7830 post: 7831 summary: "Create a network" 7832 operationId: "NetworkCreate" 7833 consumes: 7834 - "application/json" 7835 produces: 7836 - "application/json" 7837 responses: 7838 201: 7839 description: "No error" 7840 schema: 7841 type: "object" 7842 properties: 7843 Id: 7844 description: "The ID of the created network." 7845 type: "string" 7846 Warning: 7847 type: "string" 7848 example: 7849 Id: "22be93d5babb089c5aab8dbc369042fad48ff791584ca2da2100db837a1c7c30" 7850 Warning: "" 7851 400: 7852 description: "bad parameter" 7853 schema: 7854 $ref: "#/definitions/ErrorResponse" 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 - name: "force" 8302 in: "query" 8303 description: | 8304 Force disable a plugin even if still in use. 8305 required: false 8306 type: "boolean" 8307 tags: ["Plugin"] 8308 /plugins/{name}/upgrade: 8309 post: 8310 summary: "Upgrade a plugin" 8311 operationId: "PluginUpgrade" 8312 responses: 8313 204: 8314 description: "no error" 8315 404: 8316 description: "plugin not installed" 8317 schema: 8318 $ref: "#/definitions/ErrorResponse" 8319 500: 8320 description: "server error" 8321 schema: 8322 $ref: "#/definitions/ErrorResponse" 8323 parameters: 8324 - name: "name" 8325 in: "path" 8326 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8327 required: true 8328 type: "string" 8329 - name: "remote" 8330 in: "query" 8331 description: | 8332 Remote reference to upgrade to. 8333 8334 The `:latest` tag is optional, and is used as the default if omitted. 8335 required: true 8336 type: "string" 8337 - name: "X-Registry-Auth" 8338 in: "header" 8339 description: "A base64-encoded auth configuration to use when pulling a plugin from a registry. [See the authentication section for details.](#section/Authentication)" 8340 type: "string" 8341 - name: "body" 8342 in: "body" 8343 schema: 8344 type: "array" 8345 items: 8346 description: "Describes a permission accepted by the user upon installing the plugin." 8347 type: "object" 8348 properties: 8349 Name: 8350 type: "string" 8351 Description: 8352 type: "string" 8353 Value: 8354 type: "array" 8355 items: 8356 type: "string" 8357 example: 8358 - Name: "network" 8359 Description: "" 8360 Value: 8361 - "host" 8362 - Name: "mount" 8363 Description: "" 8364 Value: 8365 - "/data" 8366 - Name: "device" 8367 Description: "" 8368 Value: 8369 - "/dev/cpu_dma_latency" 8370 tags: ["Plugin"] 8371 /plugins/create: 8372 post: 8373 summary: "Create a plugin" 8374 operationId: "PluginCreate" 8375 consumes: 8376 - "application/x-tar" 8377 responses: 8378 204: 8379 description: "no error" 8380 500: 8381 description: "server error" 8382 schema: 8383 $ref: "#/definitions/ErrorResponse" 8384 parameters: 8385 - name: "name" 8386 in: "query" 8387 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8388 required: true 8389 type: "string" 8390 - name: "tarContext" 8391 in: "body" 8392 description: "Path to tar containing plugin rootfs and manifest" 8393 schema: 8394 type: "string" 8395 format: "binary" 8396 tags: ["Plugin"] 8397 /plugins/{name}/push: 8398 post: 8399 summary: "Push a plugin" 8400 operationId: "PluginPush" 8401 description: | 8402 Push a plugin to the registry. 8403 parameters: 8404 - name: "name" 8405 in: "path" 8406 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8407 required: true 8408 type: "string" 8409 responses: 8410 200: 8411 description: "no error" 8412 404: 8413 description: "plugin not installed" 8414 schema: 8415 $ref: "#/definitions/ErrorResponse" 8416 500: 8417 description: "server error" 8418 schema: 8419 $ref: "#/definitions/ErrorResponse" 8420 tags: ["Plugin"] 8421 /plugins/{name}/set: 8422 post: 8423 summary: "Configure a plugin" 8424 operationId: "PluginSet" 8425 consumes: 8426 - "application/json" 8427 parameters: 8428 - name: "name" 8429 in: "path" 8430 description: "The name of the plugin. The `:latest` tag is optional, and is the default if omitted." 8431 required: true 8432 type: "string" 8433 - name: "body" 8434 in: "body" 8435 schema: 8436 type: "array" 8437 items: 8438 type: "string" 8439 example: ["DEBUG=1"] 8440 responses: 8441 204: 8442 description: "No error" 8443 404: 8444 description: "Plugin not installed" 8445 schema: 8446 $ref: "#/definitions/ErrorResponse" 8447 500: 8448 description: "Server error" 8449 schema: 8450 $ref: "#/definitions/ErrorResponse" 8451 tags: ["Plugin"] 8452 /nodes: 8453 get: 8454 summary: "List nodes" 8455 operationId: "NodeList" 8456 responses: 8457 200: 8458 description: "no error" 8459 schema: 8460 type: "array" 8461 items: 8462 $ref: "#/definitions/Node" 8463 500: 8464 description: "server error" 8465 schema: 8466 $ref: "#/definitions/ErrorResponse" 8467 503: 8468 description: "node is not part of a swarm" 8469 schema: 8470 $ref: "#/definitions/ErrorResponse" 8471 parameters: 8472 - name: "filters" 8473 in: "query" 8474 description: | 8475 Filters to process on the nodes list, encoded as JSON (a `map[string][]string`). 8476 8477 Available filters: 8478 - `id=<node id>` 8479 - `label=<engine label>` 8480 - `membership=`(`accepted`|`pending`)` 8481 - `name=<node name>` 8482 - `role=`(`manager`|`worker`)` 8483 type: "string" 8484 tags: ["Node"] 8485 /nodes/{id}: 8486 get: 8487 summary: "Inspect a node" 8488 operationId: "NodeInspect" 8489 responses: 8490 200: 8491 description: "no error" 8492 schema: 8493 $ref: "#/definitions/Node" 8494 404: 8495 description: "no such node" 8496 schema: 8497 $ref: "#/definitions/ErrorResponse" 8498 500: 8499 description: "server error" 8500 schema: 8501 $ref: "#/definitions/ErrorResponse" 8502 503: 8503 description: "node is not part of a swarm" 8504 schema: 8505 $ref: "#/definitions/ErrorResponse" 8506 parameters: 8507 - name: "id" 8508 in: "path" 8509 description: "The ID or name of the node" 8510 type: "string" 8511 required: true 8512 tags: ["Node"] 8513 delete: 8514 summary: "Delete a node" 8515 operationId: "NodeDelete" 8516 responses: 8517 200: 8518 description: "no error" 8519 404: 8520 description: "no such node" 8521 schema: 8522 $ref: "#/definitions/ErrorResponse" 8523 500: 8524 description: "server error" 8525 schema: 8526 $ref: "#/definitions/ErrorResponse" 8527 503: 8528 description: "node is not part of a swarm" 8529 schema: 8530 $ref: "#/definitions/ErrorResponse" 8531 parameters: 8532 - name: "id" 8533 in: "path" 8534 description: "The ID or name of the node" 8535 type: "string" 8536 required: true 8537 - name: "force" 8538 in: "query" 8539 description: "Force remove a node from the swarm" 8540 default: false 8541 type: "boolean" 8542 tags: ["Node"] 8543 /nodes/{id}/update: 8544 post: 8545 summary: "Update a node" 8546 operationId: "NodeUpdate" 8547 responses: 8548 200: 8549 description: "no error" 8550 400: 8551 description: "bad parameter" 8552 schema: 8553 $ref: "#/definitions/ErrorResponse" 8554 404: 8555 description: "no such node" 8556 schema: 8557 $ref: "#/definitions/ErrorResponse" 8558 500: 8559 description: "server error" 8560 schema: 8561 $ref: "#/definitions/ErrorResponse" 8562 503: 8563 description: "node is not part of a swarm" 8564 schema: 8565 $ref: "#/definitions/ErrorResponse" 8566 parameters: 8567 - name: "id" 8568 in: "path" 8569 description: "The ID of the node" 8570 type: "string" 8571 required: true 8572 - name: "body" 8573 in: "body" 8574 schema: 8575 $ref: "#/definitions/NodeSpec" 8576 - name: "version" 8577 in: "query" 8578 description: "The version number of the node object being updated. This is required to avoid conflicting writes." 8579 type: "integer" 8580 format: "int64" 8581 required: true 8582 tags: ["Node"] 8583 /swarm: 8584 get: 8585 summary: "Inspect swarm" 8586 operationId: "SwarmInspect" 8587 responses: 8588 200: 8589 description: "no error" 8590 schema: 8591 $ref: "#/definitions/Swarm" 8592 404: 8593 description: "no such swarm" 8594 schema: 8595 $ref: "#/definitions/ErrorResponse" 8596 500: 8597 description: "server error" 8598 schema: 8599 $ref: "#/definitions/ErrorResponse" 8600 503: 8601 description: "node is not part of a swarm" 8602 schema: 8603 $ref: "#/definitions/ErrorResponse" 8604 tags: ["Swarm"] 8605 /swarm/init: 8606 post: 8607 summary: "Initialize a new swarm" 8608 operationId: "SwarmInit" 8609 produces: 8610 - "application/json" 8611 - "text/plain" 8612 responses: 8613 200: 8614 description: "no error" 8615 schema: 8616 description: "The node ID" 8617 type: "string" 8618 example: "7v2t30z9blmxuhnyo6s4cpenp" 8619 400: 8620 description: "bad parameter" 8621 schema: 8622 $ref: "#/definitions/ErrorResponse" 8623 500: 8624 description: "server error" 8625 schema: 8626 $ref: "#/definitions/ErrorResponse" 8627 503: 8628 description: "node is already part of a swarm" 8629 schema: 8630 $ref: "#/definitions/ErrorResponse" 8631 parameters: 8632 - name: "body" 8633 in: "body" 8634 required: true 8635 schema: 8636 type: "object" 8637 properties: 8638 ListenAddr: 8639 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." 8640 type: "string" 8641 AdvertiseAddr: 8642 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." 8643 type: "string" 8644 DataPathAddr: 8645 description: | 8646 Address or interface to use for data path traffic (format: `<ip|interface>`), for example, `192.168.1.1`, 8647 or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr` 8648 is used. 8649 8650 The `DataPathAddr` specifies the address that global scope network drivers will publish towards other 8651 nodes in order to reach the containers running on this node. Using this parameter it is possible to 8652 separate the container data traffic from the management traffic of the cluster. 8653 type: "string" 8654 ForceNewCluster: 8655 description: "Force creation of a new swarm." 8656 type: "boolean" 8657 Spec: 8658 $ref: "#/definitions/SwarmSpec" 8659 example: 8660 ListenAddr: "0.0.0.0:2377" 8661 AdvertiseAddr: "192.168.1.1:2377" 8662 ForceNewCluster: false 8663 Spec: 8664 Orchestration: {} 8665 Raft: {} 8666 Dispatcher: {} 8667 CAConfig: {} 8668 EncryptionConfig: 8669 AutoLockManagers: false 8670 tags: ["Swarm"] 8671 /swarm/join: 8672 post: 8673 summary: "Join an existing swarm" 8674 operationId: "SwarmJoin" 8675 responses: 8676 200: 8677 description: "no error" 8678 400: 8679 description: "bad parameter" 8680 schema: 8681 $ref: "#/definitions/ErrorResponse" 8682 500: 8683 description: "server error" 8684 schema: 8685 $ref: "#/definitions/ErrorResponse" 8686 503: 8687 description: "node is already part of a swarm" 8688 schema: 8689 $ref: "#/definitions/ErrorResponse" 8690 parameters: 8691 - name: "body" 8692 in: "body" 8693 required: true 8694 schema: 8695 type: "object" 8696 properties: 8697 ListenAddr: 8698 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)." 8699 type: "string" 8700 AdvertiseAddr: 8701 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." 8702 type: "string" 8703 DataPathAddr: 8704 description: | 8705 Address or interface to use for data path traffic (format: `<ip|interface>`), for example, `192.168.1.1`, 8706 or an interface, like `eth0`. If `DataPathAddr` is unspecified, the same address as `AdvertiseAddr` 8707 is used. 8708 8709 The `DataPathAddr` specifies the address that global scope network drivers will publish towards other 8710 nodes in order to reach the containers running on this node. Using this parameter it is possible to 8711 separate the container data traffic from the management traffic of the cluster. 8712 8713 type: "string" 8714 RemoteAddrs: 8715 description: "Addresses of manager nodes already participating in the swarm." 8716 type: "string" 8717 JoinToken: 8718 description: "Secret token for joining this swarm." 8719 type: "string" 8720 example: 8721 ListenAddr: "0.0.0.0:2377" 8722 AdvertiseAddr: "192.168.1.1:2377" 8723 RemoteAddrs: 8724 - "node1:2377" 8725 JoinToken: "SWMTKN-1-3pu6hszjas19xyp7ghgosyx9k8atbfcr8p2is99znpy26u2lkl-7p73s1dx5in4tatdymyhg9hu2" 8726 tags: ["Swarm"] 8727 /swarm/leave: 8728 post: 8729 summary: "Leave a swarm" 8730 operationId: "SwarmLeave" 8731 responses: 8732 200: 8733 description: "no error" 8734 500: 8735 description: "server error" 8736 schema: 8737 $ref: "#/definitions/ErrorResponse" 8738 503: 8739 description: "node is not part of a swarm" 8740 schema: 8741 $ref: "#/definitions/ErrorResponse" 8742 parameters: 8743 - name: "force" 8744 description: "Force leave swarm, even if this is the last manager or that it will break the cluster." 8745 in: "query" 8746 type: "boolean" 8747 default: false 8748 tags: ["Swarm"] 8749 /swarm/update: 8750 post: 8751 summary: "Update a swarm" 8752 operationId: "SwarmUpdate" 8753 responses: 8754 200: 8755 description: "no error" 8756 400: 8757 description: "bad parameter" 8758 schema: 8759 $ref: "#/definitions/ErrorResponse" 8760 500: 8761 description: "server error" 8762 schema: 8763 $ref: "#/definitions/ErrorResponse" 8764 503: 8765 description: "node is not part of a swarm" 8766 schema: 8767 $ref: "#/definitions/ErrorResponse" 8768 parameters: 8769 - name: "body" 8770 in: "body" 8771 required: true 8772 schema: 8773 $ref: "#/definitions/SwarmSpec" 8774 - name: "version" 8775 in: "query" 8776 description: "The version number of the swarm object being updated. This is required to avoid conflicting writes." 8777 type: "integer" 8778 format: "int64" 8779 required: true 8780 - name: "rotateWorkerToken" 8781 in: "query" 8782 description: "Rotate the worker join token." 8783 type: "boolean" 8784 default: false 8785 - name: "rotateManagerToken" 8786 in: "query" 8787 description: "Rotate the manager join token." 8788 type: "boolean" 8789 default: false 8790 - name: "rotateManagerUnlockKey" 8791 in: "query" 8792 description: "Rotate the manager unlock key." 8793 type: "boolean" 8794 default: false 8795 tags: ["Swarm"] 8796 /swarm/unlockkey: 8797 get: 8798 summary: "Get the unlock key" 8799 operationId: "SwarmUnlockkey" 8800 consumes: 8801 - "application/json" 8802 responses: 8803 200: 8804 description: "no error" 8805 schema: 8806 type: "object" 8807 properties: 8808 UnlockKey: 8809 description: "The swarm's unlock key." 8810 type: "string" 8811 example: 8812 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 8813 500: 8814 description: "server error" 8815 schema: 8816 $ref: "#/definitions/ErrorResponse" 8817 503: 8818 description: "node is not part of a swarm" 8819 schema: 8820 $ref: "#/definitions/ErrorResponse" 8821 tags: ["Swarm"] 8822 /swarm/unlock: 8823 post: 8824 summary: "Unlock a locked manager" 8825 operationId: "SwarmUnlock" 8826 consumes: 8827 - "application/json" 8828 produces: 8829 - "application/json" 8830 parameters: 8831 - name: "body" 8832 in: "body" 8833 required: true 8834 schema: 8835 type: "object" 8836 properties: 8837 UnlockKey: 8838 description: "The swarm's unlock key." 8839 type: "string" 8840 example: 8841 UnlockKey: "SWMKEY-1-7c37Cc8654o6p38HnroywCi19pllOnGtbdZEgtKxZu8" 8842 responses: 8843 200: 8844 description: "no error" 8845 500: 8846 description: "server error" 8847 schema: 8848 $ref: "#/definitions/ErrorResponse" 8849 503: 8850 description: "node is not part of a swarm" 8851 schema: 8852 $ref: "#/definitions/ErrorResponse" 8853 tags: ["Swarm"] 8854 /services: 8855 get: 8856 summary: "List services" 8857 operationId: "ServiceList" 8858 responses: 8859 200: 8860 description: "no error" 8861 schema: 8862 type: "array" 8863 items: 8864 $ref: "#/definitions/Service" 8865 500: 8866 description: "server error" 8867 schema: 8868 $ref: "#/definitions/ErrorResponse" 8869 503: 8870 description: "node is not part of a swarm" 8871 schema: 8872 $ref: "#/definitions/ErrorResponse" 8873 parameters: 8874 - name: "filters" 8875 in: "query" 8876 type: "string" 8877 description: | 8878 A JSON encoded value of the filters (a `map[string][]string`) to process on the services list. Available filters: 8879 8880 - `id=<service id>` 8881 - `label=<service label>` 8882 - `mode=["replicated"|"global"]` 8883 - `name=<service name>` 8884 tags: ["Service"] 8885 /services/create: 8886 post: 8887 summary: "Create a service" 8888 operationId: "ServiceCreate" 8889 consumes: 8890 - "application/json" 8891 produces: 8892 - "application/json" 8893 responses: 8894 201: 8895 description: "no error" 8896 schema: 8897 type: "object" 8898 properties: 8899 ID: 8900 description: "The ID of the created service." 8901 type: "string" 8902 Warning: 8903 description: "Optional warning message" 8904 type: "string" 8905 example: 8906 ID: "ak7w3gjqoa3kuz8xcpnyy0pvl" 8907 Warning: "unable to pin image doesnotexist:latest to digest: image library/doesnotexist:latest not found" 8908 400: 8909 description: "bad parameter" 8910 schema: 8911 $ref: "#/definitions/ErrorResponse" 8912 403: 8913 description: "network is not eligible for services" 8914 schema: 8915 $ref: "#/definitions/ErrorResponse" 8916 409: 8917 description: "name conflicts with an existing service" 8918 schema: 8919 $ref: "#/definitions/ErrorResponse" 8920 500: 8921 description: "server error" 8922 schema: 8923 $ref: "#/definitions/ErrorResponse" 8924 503: 8925 description: "node is not part of a swarm" 8926 schema: 8927 $ref: "#/definitions/ErrorResponse" 8928 parameters: 8929 - name: "body" 8930 in: "body" 8931 required: true 8932 schema: 8933 allOf: 8934 - $ref: "#/definitions/ServiceSpec" 8935 - type: "object" 8936 example: 8937 Name: "web" 8938 TaskTemplate: 8939 ContainerSpec: 8940 Image: "nginx:alpine" 8941 Mounts: 8942 - 8943 ReadOnly: true 8944 Source: "web-data" 8945 Target: "/usr/share/nginx/html" 8946 Type: "volume" 8947 VolumeOptions: 8948 DriverConfig: {} 8949 Labels: 8950 com.example.something: "something-value" 8951 Hosts: ["10.10.10.10 host1", "ABCD:EF01:2345:6789:ABCD:EF01:2345:6789 host2"] 8952 User: "33" 8953 DNSConfig: 8954 Nameservers: ["8.8.8.8"] 8955 Search: ["example.org"] 8956 Options: ["timeout:3"] 8957 Secrets: 8958 - 8959 File: 8960 Name: "www.example.org.key" 8961 UID: "33" 8962 GID: "33" 8963 Mode: 384 8964 SecretID: "fpjqlhnwb19zds35k8wn80lq9" 8965 SecretName: "example_org_domain_key" 8966 LogDriver: 8967 Name: "json-file" 8968 Options: 8969 max-file: "3" 8970 max-size: "10M" 8971 Placement: {} 8972 Resources: 8973 Limits: 8974 MemoryBytes: 104857600 8975 Reservations: {} 8976 RestartPolicy: 8977 Condition: "on-failure" 8978 Delay: 10000000000 8979 MaxAttempts: 10 8980 Mode: 8981 Replicated: 8982 Replicas: 4 8983 UpdateConfig: 8984 Parallelism: 2 8985 Delay: 1000000000 8986 FailureAction: "pause" 8987 Monitor: 15000000000 8988 MaxFailureRatio: 0.15 8989 RollbackConfig: 8990 Parallelism: 1 8991 Delay: 1000000000 8992 FailureAction: "pause" 8993 Monitor: 15000000000 8994 MaxFailureRatio: 0.15 8995 EndpointSpec: 8996 Ports: 8997 - 8998 Protocol: "tcp" 8999 PublishedPort: 8080 9000 TargetPort: 80 9001 Labels: 9002 foo: "bar" 9003 - name: "X-Registry-Auth" 9004 in: "header" 9005 description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)" 9006 type: "string" 9007 tags: ["Service"] 9008 /services/{id}: 9009 get: 9010 summary: "Inspect a service" 9011 operationId: "ServiceInspect" 9012 responses: 9013 200: 9014 description: "no error" 9015 schema: 9016 $ref: "#/definitions/Service" 9017 404: 9018 description: "no such service" 9019 schema: 9020 $ref: "#/definitions/ErrorResponse" 9021 500: 9022 description: "server error" 9023 schema: 9024 $ref: "#/definitions/ErrorResponse" 9025 503: 9026 description: "node is not part of a swarm" 9027 schema: 9028 $ref: "#/definitions/ErrorResponse" 9029 parameters: 9030 - name: "id" 9031 in: "path" 9032 description: "ID or name of service." 9033 required: true 9034 type: "string" 9035 - name: "insertDefaults" 9036 in: "query" 9037 description: "Fill empty fields with default values." 9038 type: "boolean" 9039 default: false 9040 tags: ["Service"] 9041 delete: 9042 summary: "Delete a service" 9043 operationId: "ServiceDelete" 9044 responses: 9045 200: 9046 description: "no error" 9047 404: 9048 description: "no such service" 9049 schema: 9050 $ref: "#/definitions/ErrorResponse" 9051 500: 9052 description: "server error" 9053 schema: 9054 $ref: "#/definitions/ErrorResponse" 9055 503: 9056 description: "node is not part of a swarm" 9057 schema: 9058 $ref: "#/definitions/ErrorResponse" 9059 parameters: 9060 - name: "id" 9061 in: "path" 9062 description: "ID or name of service." 9063 required: true 9064 type: "string" 9065 tags: ["Service"] 9066 /services/{id}/update: 9067 post: 9068 summary: "Update a service" 9069 operationId: "ServiceUpdate" 9070 consumes: ["application/json"] 9071 produces: ["application/json"] 9072 responses: 9073 200: 9074 description: "no error" 9075 schema: 9076 $ref: "#/definitions/ServiceUpdateResponse" 9077 400: 9078 description: "bad parameter" 9079 schema: 9080 $ref: "#/definitions/ErrorResponse" 9081 404: 9082 description: "no such service" 9083 schema: 9084 $ref: "#/definitions/ErrorResponse" 9085 500: 9086 description: "server error" 9087 schema: 9088 $ref: "#/definitions/ErrorResponse" 9089 503: 9090 description: "node is not part of a swarm" 9091 schema: 9092 $ref: "#/definitions/ErrorResponse" 9093 parameters: 9094 - name: "id" 9095 in: "path" 9096 description: "ID or name of service." 9097 required: true 9098 type: "string" 9099 - name: "body" 9100 in: "body" 9101 required: true 9102 schema: 9103 allOf: 9104 - $ref: "#/definitions/ServiceSpec" 9105 - type: "object" 9106 example: 9107 Name: "top" 9108 TaskTemplate: 9109 ContainerSpec: 9110 Image: "busybox" 9111 Args: 9112 - "top" 9113 Resources: 9114 Limits: {} 9115 Reservations: {} 9116 RestartPolicy: 9117 Condition: "any" 9118 MaxAttempts: 0 9119 Placement: {} 9120 ForceUpdate: 0 9121 Mode: 9122 Replicated: 9123 Replicas: 1 9124 UpdateConfig: 9125 Parallelism: 2 9126 Delay: 1000000000 9127 FailureAction: "pause" 9128 Monitor: 15000000000 9129 MaxFailureRatio: 0.15 9130 RollbackConfig: 9131 Parallelism: 1 9132 Delay: 1000000000 9133 FailureAction: "pause" 9134 Monitor: 15000000000 9135 MaxFailureRatio: 0.15 9136 EndpointSpec: 9137 Mode: "vip" 9138 9139 - name: "version" 9140 in: "query" 9141 description: "The version number of the service object being updated. This is required to avoid conflicting writes." 9142 required: true 9143 type: "integer" 9144 - name: "registryAuthFrom" 9145 in: "query" 9146 type: "string" 9147 description: "If the X-Registry-Auth header is not specified, this 9148 parameter indicates where to find registry authorization credentials. The 9149 valid values are `spec` and `previous-spec`." 9150 default: "spec" 9151 - name: "rollback" 9152 in: "query" 9153 type: "string" 9154 description: "Set to this parameter to `previous` to cause a 9155 server-side rollback to the previous service spec. The supplied spec will be 9156 ignored in this case." 9157 - name: "X-Registry-Auth" 9158 in: "header" 9159 description: "A base64-encoded auth configuration for pulling from private registries. [See the authentication section for details.](#section/Authentication)" 9160 type: "string" 9161 9162 tags: ["Service"] 9163 /services/{id}/logs: 9164 get: 9165 summary: "Get service logs" 9166 description: | 9167 Get `stdout` and `stderr` logs from a service. 9168 9169 **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers. 9170 operationId: "ServiceLogs" 9171 produces: 9172 - "application/vnd.docker.raw-stream" 9173 - "application/json" 9174 responses: 9175 101: 9176 description: "logs returned as a stream" 9177 schema: 9178 type: "string" 9179 format: "binary" 9180 200: 9181 description: "logs returned as a string in response body" 9182 schema: 9183 type: "string" 9184 404: 9185 description: "no such service" 9186 schema: 9187 $ref: "#/definitions/ErrorResponse" 9188 examples: 9189 application/json: 9190 message: "No such service: c2ada9df5af8" 9191 500: 9192 description: "server error" 9193 schema: 9194 $ref: "#/definitions/ErrorResponse" 9195 503: 9196 description: "node is not part of a swarm" 9197 schema: 9198 $ref: "#/definitions/ErrorResponse" 9199 parameters: 9200 - name: "id" 9201 in: "path" 9202 required: true 9203 description: "ID or name of the service" 9204 type: "string" 9205 - name: "details" 9206 in: "query" 9207 description: "Show service context and extra details provided to logs." 9208 type: "boolean" 9209 default: false 9210 - name: "follow" 9211 in: "query" 9212 description: | 9213 Return the logs as a stream. 9214 9215 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). 9216 type: "boolean" 9217 default: false 9218 - name: "stdout" 9219 in: "query" 9220 description: "Return logs from `stdout`" 9221 type: "boolean" 9222 default: false 9223 - name: "stderr" 9224 in: "query" 9225 description: "Return logs from `stderr`" 9226 type: "boolean" 9227 default: false 9228 - name: "since" 9229 in: "query" 9230 description: "Only return logs since this time, as a UNIX timestamp" 9231 type: "integer" 9232 default: 0 9233 - name: "timestamps" 9234 in: "query" 9235 description: "Add timestamps to every log line" 9236 type: "boolean" 9237 default: false 9238 - name: "tail" 9239 in: "query" 9240 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." 9241 type: "string" 9242 default: "all" 9243 tags: ["Service"] 9244 /tasks: 9245 get: 9246 summary: "List tasks" 9247 operationId: "TaskList" 9248 produces: 9249 - "application/json" 9250 responses: 9251 200: 9252 description: "no error" 9253 schema: 9254 type: "array" 9255 items: 9256 $ref: "#/definitions/Task" 9257 example: 9258 - ID: "0kzzo1i0y4jz6027t0k7aezc7" 9259 Version: 9260 Index: 71 9261 CreatedAt: "2016-06-07T21:07:31.171892745Z" 9262 UpdatedAt: "2016-06-07T21:07:31.376370513Z" 9263 Spec: 9264 ContainerSpec: 9265 Image: "redis" 9266 Resources: 9267 Limits: {} 9268 Reservations: {} 9269 RestartPolicy: 9270 Condition: "any" 9271 MaxAttempts: 0 9272 Placement: {} 9273 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 9274 Slot: 1 9275 NodeID: "60gvrl6tm78dmak4yl7srz94v" 9276 Status: 9277 Timestamp: "2016-06-07T21:07:31.290032978Z" 9278 State: "running" 9279 Message: "started" 9280 ContainerStatus: 9281 ContainerID: "e5d62702a1b48d01c3e02ca1e0212a250801fa8d67caca0b6f35919ebc12f035" 9282 PID: 677 9283 DesiredState: "running" 9284 NetworksAttachments: 9285 - Network: 9286 ID: "4qvuz4ko70xaltuqbt8956gd1" 9287 Version: 9288 Index: 18 9289 CreatedAt: "2016-06-07T20:31:11.912919752Z" 9290 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 9291 Spec: 9292 Name: "ingress" 9293 Labels: 9294 com.docker.swarm.internal: "true" 9295 DriverConfiguration: {} 9296 IPAMOptions: 9297 Driver: {} 9298 Configs: 9299 - Subnet: "10.255.0.0/16" 9300 Gateway: "10.255.0.1" 9301 DriverState: 9302 Name: "overlay" 9303 Options: 9304 com.docker.network.driver.overlay.vxlanid_list: "256" 9305 IPAMOptions: 9306 Driver: 9307 Name: "default" 9308 Configs: 9309 - Subnet: "10.255.0.0/16" 9310 Gateway: "10.255.0.1" 9311 Addresses: 9312 - "10.255.0.10/16" 9313 - ID: "1yljwbmlr8er2waf8orvqpwms" 9314 Version: 9315 Index: 30 9316 CreatedAt: "2016-06-07T21:07:30.019104782Z" 9317 UpdatedAt: "2016-06-07T21:07:30.231958098Z" 9318 Name: "hopeful_cori" 9319 Spec: 9320 ContainerSpec: 9321 Image: "redis" 9322 Resources: 9323 Limits: {} 9324 Reservations: {} 9325 RestartPolicy: 9326 Condition: "any" 9327 MaxAttempts: 0 9328 Placement: {} 9329 ServiceID: "9mnpnzenvg8p8tdbtq4wvbkcz" 9330 Slot: 1 9331 NodeID: "60gvrl6tm78dmak4yl7srz94v" 9332 Status: 9333 Timestamp: "2016-06-07T21:07:30.202183143Z" 9334 State: "shutdown" 9335 Message: "shutdown" 9336 ContainerStatus: 9337 ContainerID: "1cf8d63d18e79668b0004a4be4c6ee58cddfad2dae29506d8781581d0688a213" 9338 DesiredState: "shutdown" 9339 NetworksAttachments: 9340 - Network: 9341 ID: "4qvuz4ko70xaltuqbt8956gd1" 9342 Version: 9343 Index: 18 9344 CreatedAt: "2016-06-07T20:31:11.912919752Z" 9345 UpdatedAt: "2016-06-07T21:07:29.955277358Z" 9346 Spec: 9347 Name: "ingress" 9348 Labels: 9349 com.docker.swarm.internal: "true" 9350 DriverConfiguration: {} 9351 IPAMOptions: 9352 Driver: {} 9353 Configs: 9354 - Subnet: "10.255.0.0/16" 9355 Gateway: "10.255.0.1" 9356 DriverState: 9357 Name: "overlay" 9358 Options: 9359 com.docker.network.driver.overlay.vxlanid_list: "256" 9360 IPAMOptions: 9361 Driver: 9362 Name: "default" 9363 Configs: 9364 - Subnet: "10.255.0.0/16" 9365 Gateway: "10.255.0.1" 9366 Addresses: 9367 - "10.255.0.5/16" 9368 500: 9369 description: "server error" 9370 schema: 9371 $ref: "#/definitions/ErrorResponse" 9372 503: 9373 description: "node is not part of a swarm" 9374 schema: 9375 $ref: "#/definitions/ErrorResponse" 9376 parameters: 9377 - name: "filters" 9378 in: "query" 9379 type: "string" 9380 description: | 9381 A JSON encoded value of the filters (a `map[string][]string`) to process on the tasks list. Available filters: 9382 9383 - `desired-state=(running | shutdown | accepted)` 9384 - `id=<task id>` 9385 - `label=key` or `label="key=value"` 9386 - `name=<task name>` 9387 - `node=<node id or name>` 9388 - `service=<service name>` 9389 tags: ["Task"] 9390 /tasks/{id}: 9391 get: 9392 summary: "Inspect a task" 9393 operationId: "TaskInspect" 9394 produces: 9395 - "application/json" 9396 responses: 9397 200: 9398 description: "no error" 9399 schema: 9400 $ref: "#/definitions/Task" 9401 404: 9402 description: "no such task" 9403 schema: 9404 $ref: "#/definitions/ErrorResponse" 9405 500: 9406 description: "server error" 9407 schema: 9408 $ref: "#/definitions/ErrorResponse" 9409 503: 9410 description: "node is not part of a swarm" 9411 schema: 9412 $ref: "#/definitions/ErrorResponse" 9413 parameters: 9414 - name: "id" 9415 in: "path" 9416 description: "ID of the task" 9417 required: true 9418 type: "string" 9419 tags: ["Task"] 9420 /tasks/{id}/logs: 9421 get: 9422 summary: "Get task logs" 9423 description: | 9424 Get `stdout` and `stderr` logs from a task. 9425 9426 **Note**: This endpoint works only for services with the `json-file` or `journald` logging drivers. 9427 operationId: "TaskLogs" 9428 produces: 9429 - "application/vnd.docker.raw-stream" 9430 - "application/json" 9431 responses: 9432 101: 9433 description: "logs returned as a stream" 9434 schema: 9435 type: "string" 9436 format: "binary" 9437 200: 9438 description: "logs returned as a string in response body" 9439 schema: 9440 type: "string" 9441 404: 9442 description: "no such task" 9443 schema: 9444 $ref: "#/definitions/ErrorResponse" 9445 examples: 9446 application/json: 9447 message: "No such task: c2ada9df5af8" 9448 500: 9449 description: "server error" 9450 schema: 9451 $ref: "#/definitions/ErrorResponse" 9452 503: 9453 description: "node is not part of a swarm" 9454 schema: 9455 $ref: "#/definitions/ErrorResponse" 9456 parameters: 9457 - name: "id" 9458 in: "path" 9459 required: true 9460 description: "ID of the task" 9461 type: "string" 9462 - name: "details" 9463 in: "query" 9464 description: "Show task context and extra details provided to logs." 9465 type: "boolean" 9466 default: false 9467 - name: "follow" 9468 in: "query" 9469 description: | 9470 Return the logs as a stream. 9471 9472 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). 9473 type: "boolean" 9474 default: false 9475 - name: "stdout" 9476 in: "query" 9477 description: "Return logs from `stdout`" 9478 type: "boolean" 9479 default: false 9480 - name: "stderr" 9481 in: "query" 9482 description: "Return logs from `stderr`" 9483 type: "boolean" 9484 default: false 9485 - name: "since" 9486 in: "query" 9487 description: "Only return logs since this time, as a UNIX timestamp" 9488 type: "integer" 9489 default: 0 9490 - name: "timestamps" 9491 in: "query" 9492 description: "Add timestamps to every log line" 9493 type: "boolean" 9494 default: false 9495 - name: "tail" 9496 in: "query" 9497 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." 9498 type: "string" 9499 default: "all" 9500 /secrets: 9501 get: 9502 summary: "List secrets" 9503 operationId: "SecretList" 9504 produces: 9505 - "application/json" 9506 responses: 9507 200: 9508 description: "no error" 9509 schema: 9510 type: "array" 9511 items: 9512 $ref: "#/definitions/Secret" 9513 example: 9514 - ID: "blt1owaxmitz71s9v5zh81zun" 9515 Version: 9516 Index: 85 9517 CreatedAt: "2017-07-20T13:55:28.678958722Z" 9518 UpdatedAt: "2017-07-20T13:55:28.678958722Z" 9519 Spec: 9520 Name: "mysql-passwd" 9521 Labels: 9522 some.label: "some.value" 9523 Driver: 9524 Name: "secret-bucket" 9525 Options: 9526 OptionA: "value for driver option A" 9527 OptionB: "value for driver option B" 9528 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 9529 Version: 9530 Index: 11 9531 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9532 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9533 Spec: 9534 Name: "app-dev.crt" 9535 Labels: 9536 foo: "bar" 9537 500: 9538 description: "server error" 9539 schema: 9540 $ref: "#/definitions/ErrorResponse" 9541 503: 9542 description: "node is not part of a swarm" 9543 schema: 9544 $ref: "#/definitions/ErrorResponse" 9545 parameters: 9546 - name: "filters" 9547 in: "query" 9548 type: "string" 9549 description: | 9550 A JSON encoded value of the filters (a `map[string][]string`) to process on the secrets list. Available filters: 9551 9552 - `id=<secret id>` 9553 - `label=<key> or label=<key>=value` 9554 - `name=<secret name>` 9555 - `names=<secret name>` 9556 tags: ["Secret"] 9557 /secrets/create: 9558 post: 9559 summary: "Create a secret" 9560 operationId: "SecretCreate" 9561 consumes: 9562 - "application/json" 9563 produces: 9564 - "application/json" 9565 responses: 9566 201: 9567 description: "no error" 9568 schema: 9569 type: "object" 9570 properties: 9571 ID: 9572 description: "The ID of the created secret." 9573 type: "string" 9574 example: 9575 ID: "ktnbjxoalbkvbvedmg1urrz8h" 9576 409: 9577 description: "name conflicts with an existing object" 9578 schema: 9579 $ref: "#/definitions/ErrorResponse" 9580 500: 9581 description: "server error" 9582 schema: 9583 $ref: "#/definitions/ErrorResponse" 9584 503: 9585 description: "node is not part of a swarm" 9586 schema: 9587 $ref: "#/definitions/ErrorResponse" 9588 parameters: 9589 - name: "body" 9590 in: "body" 9591 schema: 9592 allOf: 9593 - $ref: "#/definitions/SecretSpec" 9594 - type: "object" 9595 example: 9596 Name: "app-key.crt" 9597 Labels: 9598 foo: "bar" 9599 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 9600 Driver: 9601 Name: "secret-bucket" 9602 Options: 9603 OptionA: "value for driver option A" 9604 OptionB: "value for driver option B" 9605 tags: ["Secret"] 9606 /secrets/{id}: 9607 get: 9608 summary: "Inspect a secret" 9609 operationId: "SecretInspect" 9610 produces: 9611 - "application/json" 9612 responses: 9613 200: 9614 description: "no error" 9615 schema: 9616 $ref: "#/definitions/Secret" 9617 examples: 9618 application/json: 9619 ID: "ktnbjxoalbkvbvedmg1urrz8h" 9620 Version: 9621 Index: 11 9622 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9623 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9624 Spec: 9625 Name: "app-dev.crt" 9626 Labels: 9627 foo: "bar" 9628 Driver: 9629 Name: "secret-bucket" 9630 Options: 9631 OptionA: "value for driver option A" 9632 OptionB: "value for driver option B" 9633 9634 404: 9635 description: "secret not found" 9636 schema: 9637 $ref: "#/definitions/ErrorResponse" 9638 500: 9639 description: "server error" 9640 schema: 9641 $ref: "#/definitions/ErrorResponse" 9642 503: 9643 description: "node is not part of a swarm" 9644 schema: 9645 $ref: "#/definitions/ErrorResponse" 9646 parameters: 9647 - name: "id" 9648 in: "path" 9649 required: true 9650 type: "string" 9651 description: "ID of the secret" 9652 tags: ["Secret"] 9653 delete: 9654 summary: "Delete a secret" 9655 operationId: "SecretDelete" 9656 produces: 9657 - "application/json" 9658 responses: 9659 204: 9660 description: "no error" 9661 404: 9662 description: "secret not found" 9663 schema: 9664 $ref: "#/definitions/ErrorResponse" 9665 500: 9666 description: "server error" 9667 schema: 9668 $ref: "#/definitions/ErrorResponse" 9669 503: 9670 description: "node is not part of a swarm" 9671 schema: 9672 $ref: "#/definitions/ErrorResponse" 9673 parameters: 9674 - name: "id" 9675 in: "path" 9676 required: true 9677 type: "string" 9678 description: "ID of the secret" 9679 tags: ["Secret"] 9680 /secrets/{id}/update: 9681 post: 9682 summary: "Update a Secret" 9683 operationId: "SecretUpdate" 9684 responses: 9685 200: 9686 description: "no error" 9687 400: 9688 description: "bad parameter" 9689 schema: 9690 $ref: "#/definitions/ErrorResponse" 9691 404: 9692 description: "no such secret" 9693 schema: 9694 $ref: "#/definitions/ErrorResponse" 9695 500: 9696 description: "server error" 9697 schema: 9698 $ref: "#/definitions/ErrorResponse" 9699 503: 9700 description: "node is not part of a swarm" 9701 schema: 9702 $ref: "#/definitions/ErrorResponse" 9703 parameters: 9704 - name: "id" 9705 in: "path" 9706 description: "The ID or name of the secret" 9707 type: "string" 9708 required: true 9709 - name: "body" 9710 in: "body" 9711 schema: 9712 $ref: "#/definitions/SecretSpec" 9713 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." 9714 - name: "version" 9715 in: "query" 9716 description: "The version number of the secret object being updated. This is required to avoid conflicting writes." 9717 type: "integer" 9718 format: "int64" 9719 required: true 9720 tags: ["Secret"] 9721 /configs: 9722 get: 9723 summary: "List configs" 9724 operationId: "ConfigList" 9725 produces: 9726 - "application/json" 9727 responses: 9728 200: 9729 description: "no error" 9730 schema: 9731 type: "array" 9732 items: 9733 $ref: "#/definitions/Config" 9734 example: 9735 - ID: "ktnbjxoalbkvbvedmg1urrz8h" 9736 Version: 9737 Index: 11 9738 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9739 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9740 Spec: 9741 Name: "server.conf" 9742 500: 9743 description: "server error" 9744 schema: 9745 $ref: "#/definitions/ErrorResponse" 9746 503: 9747 description: "node is not part of a swarm" 9748 schema: 9749 $ref: "#/definitions/ErrorResponse" 9750 parameters: 9751 - name: "filters" 9752 in: "query" 9753 type: "string" 9754 description: | 9755 A JSON encoded value of the filters (a `map[string][]string`) to process on the configs list. Available filters: 9756 9757 - `id=<config id>` 9758 - `label=<key> or label=<key>=value` 9759 - `name=<config name>` 9760 - `names=<config name>` 9761 tags: ["Config"] 9762 /configs/create: 9763 post: 9764 summary: "Create a config" 9765 operationId: "ConfigCreate" 9766 consumes: 9767 - "application/json" 9768 produces: 9769 - "application/json" 9770 responses: 9771 201: 9772 description: "no error" 9773 schema: 9774 type: "object" 9775 properties: 9776 ID: 9777 description: "The ID of the created config." 9778 type: "string" 9779 example: 9780 ID: "ktnbjxoalbkvbvedmg1urrz8h" 9781 409: 9782 description: "name conflicts with an existing object" 9783 schema: 9784 $ref: "#/definitions/ErrorResponse" 9785 500: 9786 description: "server error" 9787 schema: 9788 $ref: "#/definitions/ErrorResponse" 9789 503: 9790 description: "node is not part of a swarm" 9791 schema: 9792 $ref: "#/definitions/ErrorResponse" 9793 parameters: 9794 - name: "body" 9795 in: "body" 9796 schema: 9797 allOf: 9798 - $ref: "#/definitions/ConfigSpec" 9799 - type: "object" 9800 example: 9801 Name: "server.conf" 9802 Labels: 9803 foo: "bar" 9804 Data: "VEhJUyBJUyBOT1QgQSBSRUFMIENFUlRJRklDQVRFCg==" 9805 tags: ["Config"] 9806 /configs/{id}: 9807 get: 9808 summary: "Inspect a config" 9809 operationId: "ConfigInspect" 9810 produces: 9811 - "application/json" 9812 responses: 9813 200: 9814 description: "no error" 9815 schema: 9816 $ref: "#/definitions/Config" 9817 examples: 9818 application/json: 9819 ID: "ktnbjxoalbkvbvedmg1urrz8h" 9820 Version: 9821 Index: 11 9822 CreatedAt: "2016-11-05T01:20:17.327670065Z" 9823 UpdatedAt: "2016-11-05T01:20:17.327670065Z" 9824 Spec: 9825 Name: "app-dev.crt" 9826 404: 9827 description: "config not found" 9828 schema: 9829 $ref: "#/definitions/ErrorResponse" 9830 500: 9831 description: "server error" 9832 schema: 9833 $ref: "#/definitions/ErrorResponse" 9834 503: 9835 description: "node is not part of a swarm" 9836 schema: 9837 $ref: "#/definitions/ErrorResponse" 9838 parameters: 9839 - name: "id" 9840 in: "path" 9841 required: true 9842 type: "string" 9843 description: "ID of the config" 9844 tags: ["Config"] 9845 delete: 9846 summary: "Delete a config" 9847 operationId: "ConfigDelete" 9848 produces: 9849 - "application/json" 9850 responses: 9851 204: 9852 description: "no error" 9853 404: 9854 description: "config not found" 9855 schema: 9856 $ref: "#/definitions/ErrorResponse" 9857 500: 9858 description: "server error" 9859 schema: 9860 $ref: "#/definitions/ErrorResponse" 9861 503: 9862 description: "node is not part of a swarm" 9863 schema: 9864 $ref: "#/definitions/ErrorResponse" 9865 parameters: 9866 - name: "id" 9867 in: "path" 9868 required: true 9869 type: "string" 9870 description: "ID of the config" 9871 tags: ["Config"] 9872 /configs/{id}/update: 9873 post: 9874 summary: "Update a Config" 9875 operationId: "ConfigUpdate" 9876 responses: 9877 200: 9878 description: "no error" 9879 400: 9880 description: "bad parameter" 9881 schema: 9882 $ref: "#/definitions/ErrorResponse" 9883 404: 9884 description: "no such config" 9885 schema: 9886 $ref: "#/definitions/ErrorResponse" 9887 500: 9888 description: "server error" 9889 schema: 9890 $ref: "#/definitions/ErrorResponse" 9891 503: 9892 description: "node is not part of a swarm" 9893 schema: 9894 $ref: "#/definitions/ErrorResponse" 9895 parameters: 9896 - name: "id" 9897 in: "path" 9898 description: "The ID or name of the config" 9899 type: "string" 9900 required: true 9901 - name: "body" 9902 in: "body" 9903 schema: 9904 $ref: "#/definitions/ConfigSpec" 9905 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." 9906 - name: "version" 9907 in: "query" 9908 description: "The version number of the config object being updated. This is required to avoid conflicting writes." 9909 type: "integer" 9910 format: "int64" 9911 required: true 9912 tags: ["Config"] 9913 /distribution/{name}/json: 9914 get: 9915 summary: "Get image information from the registry" 9916 description: "Return image digest and platform information by contacting the registry." 9917 operationId: "DistributionInspect" 9918 produces: 9919 - "application/json" 9920 responses: 9921 200: 9922 description: "descriptor and platform information" 9923 schema: 9924 type: "object" 9925 x-go-name: DistributionInspect 9926 required: [Descriptor, Platforms] 9927 properties: 9928 Descriptor: 9929 type: "object" 9930 description: "A descriptor struct containing digest, media type, and size" 9931 properties: 9932 MediaType: 9933 type: "string" 9934 Size: 9935 type: "integer" 9936 format: "int64" 9937 Digest: 9938 type: "string" 9939 URLs: 9940 type: "array" 9941 items: 9942 type: "string" 9943 Platforms: 9944 type: "array" 9945 description: "An array containing all platforms supported by the image" 9946 items: 9947 type: "object" 9948 properties: 9949 Architecture: 9950 type: "string" 9951 OS: 9952 type: "string" 9953 OSVersion: 9954 type: "string" 9955 OSFeatures: 9956 type: "array" 9957 items: 9958 type: "string" 9959 Variant: 9960 type: "string" 9961 Features: 9962 type: "array" 9963 items: 9964 type: "string" 9965 examples: 9966 application/json: 9967 Descriptor: 9968 MediaType: "application/vnd.docker.distribution.manifest.v2+json" 9969 Digest: "sha256:c0537ff6a5218ef531ece93d4984efc99bbf3f7497c0a7726c88e2bb7584dc96" 9970 Size: 3987495 9971 URLs: 9972 - "" 9973 Platforms: 9974 - Architecture: "amd64" 9975 OS: "linux" 9976 OSVersion: "" 9977 OSFeatures: 9978 - "" 9979 Variant: "" 9980 Features: 9981 - "" 9982 401: 9983 description: "Failed authentication or no image found" 9984 schema: 9985 $ref: "#/definitions/ErrorResponse" 9986 examples: 9987 application/json: 9988 message: "No such image: someimage (tag: latest)" 9989 500: 9990 description: "Server error" 9991 schema: 9992 $ref: "#/definitions/ErrorResponse" 9993 parameters: 9994 - name: "name" 9995 in: "path" 9996 description: "Image name or id" 9997 type: "string" 9998 required: true 9999 tags: ["Distribution"] 10000 /session: 10001 post: 10002 summary: "Initialize interactive session" 10003 description: | 10004 Start a new interactive session with a server. Session allows server to call back to the client for advanced capabilities. 10005 10006 > **Note**: This endpoint is *experimental* and only available if the daemon is started with experimental 10007 > features enabled. The specifications for this endpoint may still change in a future version of the API. 10008 10009 ### Hijacking 10010 10011 This endpoint hijacks the HTTP connection to HTTP2 transport that allows the client to expose gPRC services on that connection. 10012 10013 For example, the client sends this request to upgrade the connection: 10014 10015 ``` 10016 POST /session HTTP/1.1 10017 Upgrade: h2c 10018 Connection: Upgrade 10019 ``` 10020 10021 The Docker daemon will respond with a `101 UPGRADED` response follow with the raw stream: 10022 10023 ``` 10024 HTTP/1.1 101 UPGRADED 10025 Connection: Upgrade 10026 Upgrade: h2c 10027 ``` 10028 operationId: "Session" 10029 produces: 10030 - "application/vnd.docker.raw-stream" 10031 responses: 10032 101: 10033 description: "no error, hijacking successful" 10034 400: 10035 description: "bad parameter" 10036 schema: 10037 $ref: "#/definitions/ErrorResponse" 10038 500: 10039 description: "server error" 10040 schema: 10041 $ref: "#/definitions/ErrorResponse" 10042 tags: ["Session (experimental)"]