Hallo,
ich will eigentlich nur in einer while -schleife meine docker container durchgehen um dort nach eintreägen in log-dateien zu greppen
Dazu habe ich folgendes script geschrieben
Code:
while read -r line
do
echo "$line"
TEST=$(echo "$line" | cut -d" " -f1) #Containerid
RESULT=$(docker exec -i "$TEST" bash -c "grep DEBUG /opt/bitnami/kafka/logs/*.log")
echo "test"
done < <(docker ps | grep kafka_kafka | cut -d" " -f1,183) #ContainerID, Container-Name
Das Problem ist, dass die Schleife beim ersten erfolgreichen auslesen eines Containers nach dem "echo test" abbricht.
Wenn ich aber
Code:
docker exec -i "$foo" bash...
mache, also keine gültige ContainerID für den docker-Befehl mitgegeben wird, läuft das Script über alle vier Container durch und gibt sie mir aus. Führt aber dann natürlich keine sinnvollen Docker exec Befehl aus.
Hat das was mit dem exit-Code von docker exec zu tun? Wie kann ich das verhindern, dass er die Schleife vorher abbricht?
VG niesel
Lesezeichen