2025-07-14 21:08:39 -04:00

27 lines
811 B
Bash
Executable File

#!/bin/bash
main ()
{
# List all Docker networks
networks=$(docker network ls -q --format '{{.Name}},{{.ID}}' | sort | cut -d, -f 2)
# Loop through the networks and display the details
for network in $networks; do
local containers=$(docker network inspect --format='{{range $k, $v := .Containers}}{{$k}} {{end}}' "$network")
local net_name=$(docker network inspect --format '{{ .Name }}' $network)
printf "%-30s %s\n" "$net_name" "$network"
for container in $containers; do
local cont=$(docker network inspect --format="{{ index .Containers \"$container\" | json }}" "$network" )
local name=$(jq -r ".Name" <<< "$cont")
local ip=$(jq -r ".IPv4Address" <<< "$cont")
printf " %-30s %s\n" "$ip" "$name"
done
done
}
main $@