mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
![Mary Anthony](/assets/img/avatar_default.png)
Removing old networking.md Updating dockernetworks.md with images Adding information on network plugins Adding blurb about links to docker networking Updating the working documentation Adding Overlay Getting Started Downplaying links by removing refs/examples, adding refs/examples for network. Updating getting started to reflect networks not links Pulling out old network material Updating per discussion with Madhu to add Default docs section Updating with bridge default Fix bad merge Updating with new cluster-advertise behavior Update working and NetworkSettings examples Correcting example for default bridge discovery behavior Entering comments Fixing broken Markdown Syntax Updating with comments Updating all the links Signed-off-by: Mary Anthony <mary@docker.com>
75 lines
2.6 KiB
Markdown
75 lines
2.6 KiB
Markdown
<!--[metadata]>
|
|
+++
|
|
title = "inspect"
|
|
description = "The inspect command description and usage"
|
|
keywords = ["inspect, container, json"]
|
|
[menu.main]
|
|
parent = "smn_cli"
|
|
+++
|
|
<![end-metadata]-->
|
|
|
|
# inspect
|
|
|
|
Usage: docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
|
|
|
|
Return low-level information on a container or image
|
|
|
|
-f, --format="" Format the output using the given go template
|
|
--help=false Print usage
|
|
--type=container|image Return JSON for specified type, permissible
|
|
values are "image" or "container"
|
|
-s, --size=false Display total file sizes if the type is container
|
|
|
|
By default, this will render all results in a JSON array. If a format is
|
|
specified, the given template will be executed for each result.
|
|
|
|
Go's [text/template](http://golang.org/pkg/text/template/) package
|
|
describes all the details of the format.
|
|
|
|
## Examples
|
|
|
|
**Get an instance's IP address:**
|
|
|
|
For the most part, you can pick out any field from the JSON in a fairly
|
|
straightforward manner.
|
|
|
|
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $INSTANCE_ID
|
|
|
|
**Get an instance's MAC Address:**
|
|
|
|
For the most part, you can pick out any field from the JSON in a fairly
|
|
straightforward manner.
|
|
|
|
$ docker inspect '{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
|
|
|
|
**Get an instance's log path:**
|
|
|
|
$ docker inspect --format='{{.LogPath}}' $INSTANCE_ID
|
|
|
|
**List All Port Bindings:**
|
|
|
|
One can loop over arrays and maps in the results to produce simple text
|
|
output:
|
|
|
|
$ docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' $INSTANCE_ID
|
|
|
|
**Find a Specific Port Mapping:**
|
|
|
|
The `.Field` syntax doesn't work when the field name begins with a
|
|
number, but the template language's `index` function does. The
|
|
`.NetworkSettings.Ports` section contains a map of the internal port
|
|
mappings to a list of external address/port objects. To grab just the
|
|
numeric public port, you use `index` to find the specific port map, and
|
|
then `index` 0 contains the first object inside of that. Then we ask for
|
|
the `HostPort` field to get the public address.
|
|
|
|
$ docker inspect --format='{{(index (index .NetworkSettings.Ports "8787/tcp") 0).HostPort}}' $INSTANCE_ID
|
|
|
|
**Get config:**
|
|
|
|
The `.Field` syntax doesn't work when the field contains JSON data, but
|
|
the template language's custom `json` function does. The `.config`
|
|
section contains complex JSON object, so to grab it as JSON, you use
|
|
`json` to convert the configuration object into JSON.
|
|
|
|
$ docker inspect --format='{{json .config}}' $INSTANCE_ID
|