J’ai déjà vu des messages montrant comment supprimer les conteneurs sortis répertoriés avec docker ps -q -f status=exited
, mais je veux aussi nettoyer les conteneurs ‘créés’ mais pas ‘actifs’. Est-il sécuritaire de supprimer des conteneurs avec le statut «créé» ou y a-t-il un inconvénient?
Les conteneurs Docker avec le statut created
sont des conteneurs créés à partir des images, mais jamais démarrés. Leur suppression n’a aucun impact car vous n’auriez exécuté aucun processus dans le conteneur et provoqué une modification de l’état du conteneur créé, dans le dernier cas, il doit être validé. Cela est généralement fait pour accélérer le démarrage du conteneur et vous assurer que toute la configuration est prête.
Reportez-vous à Docker Docs
La commande docker create crée un calque de conteneur accessible en écriture sur l’image spécifiée et le prépare pour l’exécution de la commande spécifiée. L’ID du conteneur est ensuite imprimé sur STDOUT. Ceci est similaire à docker run -d sauf que le conteneur n’est jamais démarré. Vous pouvez ensuite utiliser la commande docker start pour démarrer le conteneur à tout moment.
Ceci est utile lorsque vous souhaitez configurer une configuration de conteneur à l’avance afin qu’elle soit prête à démarrer lorsque vous en avez besoin. Le statut initial du nouveau conteneur est créé.
Il y a deux possibilités pour un conteneur d’être dans le statut créé:
Pour répondre à la question, dans les deux cas, leur suppression est sûre.
Une façon de reproduire le conteneur Docker dans un état créé via la commande run est la suivante:
docker pull loicmathieu/vsftpd docker run -p 621:21 -d loicmathieu/vsftpd ftp docker run -p 621:21 -d loicmathieu/vsftpd ftp
Alors docker ps -a vous donnera quelque chose comme
CONTAINER ID IMAGE COMMAND CREATED STATUS e60dcd51e4e2 loicmathieu/vsftpd "/start.sh ftp" 6 seconds ago Created 7041c77cad53 loicmathieu/vsftpd "/start.sh ftp" 16 seconds ago Up 15 seconds