#!/bin/bash

# show_netowrk-ip_docker.sh
# By Erreur32 2025

# Fonction pour afficher un tableau bien aligné
function print_table {
    local network_name="$1"
    
    # Récupération des conteneurs et IPs
    local results=$(docker network inspect "$network_name" --format '{{range .Containers}}{{printf "%-30s %-20s\n" .Name .IPv4Address}}{{end}}')

    # Vérifier si le réseau contient des conteneurs
    if [[ -z "$results" ]]; then
        echo -e "\033[33m🔹 Réseau: $network_name (Aucun conteneur attaché)\033[0m"
    else
        echo -e "\n\033[32m🔹 Réseau: $network_name\033[0m"
        echo "---------------------------------------------"
        printf "%-30s %-20s\n" "CONTAINER" "IP ADDRESS"
        echo "---------------------------------------------"
        echo "$results"
    fi
}

# Lister tous les réseaux Docker
networks=$(docker network ls --format '{{.Name}}')

# Afficher les résultats
for net in $networks; do
    print_table "$net"
done
