27 lines
811 B
Bash
Executable File
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 $@
|
|
|