Return low-level information on Docker objects
$ docker inspect [OPTIONS] NAME|ID [NAME|ID...]
Refer to the options section for an overview of available OPTIONS
for this command.
Docker inspect provides detailed information on constructs controlled by Docker.
By default, docker inspect
will render results in a JSON array.
For example uses of this command, refer to the examples section below.
Name, shorthand | Default | Description |
--format , -f
| Format the output using the given Go template | |
--size , -s
| Display total file sizes if the type is container | |
--type | Return JSON for specified type |
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
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' $INSTANCE_ID
$ docker inspect --format='{{.LogPath}}' $INSTANCE_ID
$ docker inspect --format='{{.Config.Image}}' $INSTANCE_ID
You 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
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
If you request a field which is itself a structure containing other fields, by default you get a Go-style dump of the inner values. Docker adds a template function, json
, which can be applied to get results in JSON format.
$ docker inspect --format='{{json .Config}}' $INSTANCE_ID
© 2019 Docker, Inc.
Licensed under the Apache License, Version 2.0.
Docker and the Docker logo are trademarks or registered trademarks of Docker, Inc. in the United States and/or other countries.
Docker, Inc. and other parties may also have trademark rights in other terms used herein.
https://docs.docker.com/engine/reference/commandline/inspect/