Image showing Docker tip : inspect and jq

Docker tip : inspect and jq

🌐 This content is only available in English.
affiliate best offer

Docker inspect and jq

This isn’t so much a docker tip, as it is a jq tip. If you haven’t heard of jq, it is a great tool for parsing JSON from the command line. This also makes it a great tool to see what is happening in a container instead of having to use the –format specifier which I can never remember how to use exactly:

Get network information:

    $ docker inspect 4c45aea49180 | jq '.[].NetworkSettings.Networks'

The output is:

    {
      "bridge": {
        "EndpointID": "ba1b6efba16de99f260e0fa8892fd4685dbe2f79cba37ac0114195e9fad66075",
        "Gateway": "172.17.0.1",
        "IPAddress": "172.17.0.2",
        "IPPrefixLen": 16,
        "IPv6Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "MacAddress": "02:42:ac:11:00:02"
      }
    }
    

I could have achieved the same thing using grep. I have detailed how to extract data from docker command using grep in the blog post.

Get the arguments with which the container was started

    $ docker inspect 4c45aea49180 | jq '.[].Args'

The output is:

    [
    "-server",
    "-advertise",
    "192.168.99.100",
    "-bootstrap-expect",
    "1"
    ]

Get all the mounted volumes

$ docker inspect 4c45aea49180 | jq '.[].Mounts'

Output


    [
    {
    "Name": "a8125ffdf6c4be1db4464345ba36b0417a18aaa3a025267596e292249ca4391f",
    "Source": "/mnt/sda1/var/lib/docker/volumes/a8125ffdf6c4be1db4464345ba36b0417a18aaa3a025267596e292249ca4391f/_data",
    "Destination": "/data",
    "Driver": "local",
    "Mode": "",
    "RW": true
    }
    ]

And of course also works great for querying other kinds of (docker-esque) APIs that produce JSON (e.g Marathon, Mesos, Consul etc.). JQ provides a very extensive API for accessing and processing JSON. More information can be found here: https://stedolan.github.io/jq/

You might also like these blog posts

Contact

Contact Us

Not sure which of these you need? Book the free 20-minute audit — we look at one week of your work and tell you what is worth automating, what is not, and what it would cost. Book it here.

Address

10 rue François 1er,
75008 Paris

When we work

Monday - Friday
9:00AM - 05:00PM