• DevOps,  Docker,  Java,  Middleware

    Befehl in mehreren Docker-Containern ausführen

    Möchte man bei vielen aktiven Containern bestimmte Inhalte abfragen, kann dies mit einer Schleife elegant als Einzeiler durchgeführt werden. Zuerst ist der Containername zu ermitteln und dann kann via docker exec der eigentliche Befehl im Container ausgeführt werden. Beispiel: Ermittlung der java Version in allen Containern (zur besseren Lesbarkeit auf mehrere Zeilen umgebrochen) for i in $(sudo docker ps --format '{{.Names}}') ; do echo "------" ; echo $i ; sudo docker exec $i bash -c "java -version" ; done —— important01.service openjdk version “1.8.0_171” OpenJDK Runtime Environment (build 1.8.0_171-b10) OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode) —— container02.service openjdk version “1.8.0_171” … usw.