Est-il sécuritaire de supprimer les conteneurs Docker répertoriés avec `docker ps -f status = created`?

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éé:

  1. Comme l’explique @askb, le conteneur docker créé à partir de l’image à l’aide de la commande docker create se terminera par la commande create.
  2. Un conteneur de docker créé par la commande run mais ne pouvant pas démarrer. Plusieurs causes ici, mais le plus simple est un conteneur Docker avec un mappage de port à ceux déjà liés

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