La premiere chose est deja de nommer tes containers. pour ca y'a l'option "--name <nom>" a rajouter dans le run. Sinon t'aura un nom généré automatiquement ou faudra utilisé l'ID.
La commande "
sudo docker ps" afficher les containers actifs (ceux qui tournent) et "
sudo docker ps -a" affiche tous les containers, actifs ou stoppés.
La commande "
sudo docker rm [-f] <nom ou id>" permet de supprimer completement un container arreté. l'option -f force l'arret du container avant.
- Force un kill toutes les 10 minutes, comme je le faisait avec iperf2.
fait un "
sudo docker restart <nom>" toutes les 10 minutes
- Vérifier toutes les minutes si le process iperf est en mémoire
dans le cas present iperf3 est ce qui tourne dans le container donc le container s'arrete quand iperf3 ne tourne plus (process mort). si iperf3 est "bloqué" (process vivant mais qui fait on se ne sait quoi) le container continue a tourner.
donc tu peux tester si le container tourne encore avec "
docker inspect <nom>". Ca renvoi plein d'infos sur le container en format json. Notamment l'etat. Tu peux reduire en utilisant '--format':
sudo docker inspect --format='{{.State.Running}}' <nom>
affichera "false" ou "true"
si c'est false tu peux "sudo docker start <nom>" pour relancer le container.
il y a aussi une option "--restart always" pour "run" qui redémarre automatiquement un container mais ca peux faire des choses bizarres parfois (j'ai eu le cas). a tester donc.
"
sudo docker [-t] logs <nom>" permet de voir l'ouput (stoud, stderr, -t pour avoir la date/heure) de ton container aussi. ca peut servir.
Idealement je te conseilles de lire la doc:
https://docs.docker.com/reference/run/ elle est simple et claire.
y'a aussi un api (principalement a base de REST):
https://docs.docker.com/reference/api/docker_remote_api_v1.19/ pour faire des scripts notamment.