dockercontainersdocker-network

How do I list all containers in a user-defined docker network?


How do I get a list of all the containers in a user-defined docker network?

I would like to get all the commit hashes of every container for a specific user-defined docker network.


Solution

  • docker network inspect \
      -f '{{ range $key, $value := .Containers }}{{ printf "%s\n" $key}}{{ end }}' \
      <network-id>
    

    will give a newline delimited list of the container hashes belonging to the network-id network.

    You can adjust the printf format to get other syntax (comma-separated, tab-separated, container id+name, etc). For example:

     $ docker network inspect \
        -f '{{ range $key, $value := .Containers }}{{printf "%s: %s\n" $key .Name}}{{ end }}' \
        web-ingress
    0b7f82ad7535ac7c1a454aaf0a5df6b87547d3cb9d751d0e0e1b4952a849b11b: mon_grafana.1.v5i0ea6nv12k0h3eo8egglg6n
    1cce723642af2ce9382c7d46cca868d4674b4645d07458eeed9e928d29a4fb1f: mon_prometheus.1.lsfdcig6uhqfbbv7n07irpj3j
    1f4840710f77fa1e02bd3e95581139b9f3c13fe4c857ce6ac44bfbdae4916920: mon_alertmanager.1.kwvw7kqsfpi9qzpmqdrd85yc7
    2efea443fee41fd5dbca714145ca6ff95d91be9c60a469be597aadfaca90914d: mon_unsee.1.3lg8qgnvshibklnypzt5rw95s
    6fdb893488f6e56766501e763d4c60196ae12a22ee9bd204d84fe324331714e8: mon_dashboard.1.r6b6nhatwmk88y5ncgagnaxh4
    lb-web-ingress: web-ingress-endpoint