github.com/rumpl/bof@v23.0.0-rc.2+incompatible/docs/api/v1.34.yaml (about)

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