Docker : Exited since 5d ...
Par pepin le vendredi, mars 1 2019, 14:38 - Docker - Lien permanent
Dans un contexte d'ordonnanceur externe à docker, comme kubernetes, la vie d'un container n'est pas éternelle, et même pire, elle peut être très courte (selon le cycle de développement du service proposé).
Il n'est donc pas rare de voir sur les nodes des container qui sont en état "Exited since ...". Ces container peuvent correspondre à des suppression de pods et services, puis à la récréation de ceux-ci, ce qui peut nous donner de jolis semis doublons lors d'un :
docker ps -a
Kubernetes ne fait pas le ménage sur les nodes, ni meme sur le controlleur, exemple :
root@Krilin:~$ docker ps -a | grep weave 776a6b33278f 1f394ae9e226 "/home/weave/launch.…" 4 minutes ago Exited (1) 4 minutes ago k8s_weave_weave-net-vzv6m_kube-system_6d5bf007-31d6-11e9-8af5-e094673af96c_3348 a7714ac685e7 789b7f496034 "/usr/bin/weave-npc" 13 hours ago Up 13 hours k8s_weave-npc_weave-net-vzv6m_kube-system_6d5bf007-31d6-11e9-8af5-e094673af96c_3 b823cbb9669c k8s.gcr.io/pause:3.1 "/pause" 13 hours ago Up 13 hours k8s_POD_weave-net-vzv6m_kube-system_6d5bf007-31d6-11e9-8af5-e094673af96c_3 467b8f9b7802 789b7f496034 "/usr/bin/weave-npc" 14 hours ago Exited (1) 13 hours ago k8s_weave-npc_weave-net-vzv6m_kube-system_6d5bf007-31d6-11e9-8af5-e094673af96c_2 c8309215ce8b k8s.gcr.io/pause:3.1 "/pause" 14 hours ago Exited (0) 13 hours ago k8s_POD_weave-net-vzv6m_kube-system_6d5bf007-31d6-11e9-8af5-e094673af96c_2
Pour nettoyer tout cela, nous pouvons faire un script shell qui cherchera le mot Exited pour ensuite faire un docker rm sur l'id du container associé, mais il restera encore a faire des "prune" sur les volumes pour que le nettoyage soit complet.
Il existe une commande plus directe dans docker :
docker system prune
rootKrilin:~$ docker system prune WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all dangling build cache Are you sure you want to continue? [y/N]
Si vous repondez "y" vous voyez alors les suppressions faites :
Deleted Containers: 118d43446820ee48fbc2448f458fd310da1a2fa8e9c4288eebc687f6ead02b40 7bd02c21bd056f2206deafb8d2c1f962e460726ea5baac382326315c0200fae6 2d13ae91cd9b2c2c0a0ef6deae378da973eb09a353778c386b946143cd5da611 5c01da141458bad077f8398d235cc29aa571816d9fc377a54663fe60a7b551fa 748087e020c6a012e25a8b78321c45c86471de22f0fbc5e4e14936fa88090382 8ad02c451417f9b4c6c016b330775082b64330284ba9e4eaa20e064fb9f6cf3f 1a8bc77db31831bd0ef177d7a70b0ddafd2f1d9a69a2d7f1f504da69a15f838e 624f19e5050ced840a31e17b857071f25c30afdb46719cb28429ecb7853c2090 c2430cafa2a988cecebffb16ce7a5c90f78dc18053003dd8d6f0cdea438b8473 1796f28b9dbc1c2c31724e91d031a12eae19b1b513c168dec236005e42036969 20fcbb1c937042ef86dccd03f60f59c168947cfc0440fbc20bd99052fdb5a789 Total reclaimed space: 0B
Le 0B correspond à l'espace récupéré sur les volumes. Mais le ménage a bien été fait question reliquats de containers et d'images inutiles.
On y voit un peu plus clair, non ?