Führe den folgenden Befehl im Verzeichnis aus, in dem sich docker-compose.yml befindet:
docker_network_ids.sh
docker-compose -f $(find . -name 'docker-compose.yml' -type f) ps -q | xargs -I {} docker inspect --format '{{.Name}}: {{range .NetworkSettings.Networks}}{{.NetworkID}}{{end}}' {}Beispiel-Ausgabe:
docker_network_ids_output.txt
/myservice-server-1: 3b533d2074e7230426adf0d269b399d356066130719ffd3ef68d6d492f3757f6
/myservice-ui-1: 3b533d2074e7230426adf0d269b399d356066130719ffd3ef68d6d492f3757f6Aufschlüsselung des Befehls:
docker-compose -f $(find . -name 'docker-compose.yml' -type f) ps -q: Dieser Teil findet alledocker-compose.yml-Dateien im aktuellen Verzeichnis und seinen Unterverzeichnissen und führtdocker-compose ps -qfür jede davon aus. Dieser Befehl listet die IDs der laufenden Container für jeden in den Docker Compose-Dateien definierten Service auf.xargs -I {} docker inspect --format '{{.Name}}: {{range .NetworkSettings.Networks}}{{.NetworkID}}{{end}}' {}: Dieser Teil nimmt die Container-IDs aus dem vorherigen Schritt und führtdocker inspectfür jeden davon aus. Es extrahiert den Namen des Containers und seine Ethernet-Interface-Informationen mit einem benutzerdefinierten Format. Es formatiert die Ausgabe als “ServiceName: NetworkID.”
Ähnliche Beiträge nach Kategorie:
Docker
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen