github.com/sijibomii/docker@v0.0.0-20231230191044-5cf6ca554647/docs/reference/commandline/inspect.md (about)

     1  <!--[metadata]>
     2  +++
     3  title = "inspect"
     4  description = "The inspect command description and usage"
     5  keywords = ["inspect, container, json"]
     6  [menu.main]
     7  parent = "smn_cli"
     8  +++
     9  <![end-metadata]-->
    10  
    11  # inspect
    12  
    13      Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
    14  
    15      Return low-level information on a container or image
    16  
    17        -f, --format=""         Format the output using the given go template
    18        --help                  Print usage
    19        --type=container|image  Return JSON for specified type, permissible
    20                                values are "image" or "container"
    21        -s, --size              Display total file sizes if the type is container
    22  
    23  By default, this will render all results in a JSON array. If the container and
    24  image have the same name, this will return container JSON for unspecified type.
    25  If a format is specified, the given template will be executed for each result.
    26  
    27  Go's [text/template](http://golang.org/pkg/text/template/) package
    28  describes all the details of the format.
    29  
    30  ## Examples
    31  
    32  **Get an instance's IP address:**
    33  
    34  For the most part, you can pick out any field from the JSON in a fairly
    35  straightforward manner.
    36  
    37      $ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $INSTANCE_ID
    38  
    39  **Get an instance's MAC Address:**
    40  
    41  For the most part, you can pick out any field from the JSON in a fairly
    42  straightforward manner.
    43  
    44      $ docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
    45  
    46  **Get an instance's log path:**
    47  
    48      $ docker inspect --format='{{.LogPath}}' $INSTANCE_ID
    49  
    50  **List All Port Bindings:**
    51  
    52  One can loop over arrays and maps in the results to produce simple text
    53  output:
    54  
    55      $ docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID
    56  
    57  **Find a Specific Port Mapping:**
    58  
    59  The `.Field` syntax doesn't work when the field name begins with a
    60  number, but the template language's `index` function does. The
    61  `.NetworkSettings.Ports` section contains a map of the internal port
    62  mappings to a list of external address/port objects. To grab just the
    63  numeric public port, you use `index` to find the specific port map, and
    64  then `index` 0 contains the first object inside of that. Then we ask for
    65  the `HostPort` field to get the public address.
    66  
    67      $ docker inspect --format='{{(index (index .NetworkSettings.Ports "8787/tcp") 0).HostPort}}' $INSTANCE_ID
    68  
    69  **Get a subsection in JSON format:**
    70  
    71  If you request a field which is itself a structure containing other
    72  fields, by default you get a Go-style dump of the inner values.
    73  Docker adds a template function, `json`, which can be applied to get
    74  results in JSON format.
    75  
    76      $ docker inspect --format='{{json .Config}}' $INSTANCE_ID