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