Wie man die Docker-Netzwerk-ID für jeden docker-compose-Service im aktuellen Verzeichnis findet
English
Deutsch
Führen Sie 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.”
Check out similar posts by category:
Docker
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow