Accueil·Messages d’erreur

docker · Docker

Le message

Conflict. The container name "/api" is already in use by container

Ce que cela veut dire

Le nom passé avec --name appartient déjà à un autre conteneur. Les noms sont uniques y compris parmi les conteneurs arrêtés, pas seulement ceux qui tournent : le plus souvent, un conteneur mort hier le retient encore — invisible dans docker ps, visible seulement dans docker ps -a. docker rm -f api libère le nom, et détruit du même coup la couche inscriptible de ce conteneur (les volumes nommés survivent). Pour un conteneur jetable, le lancer avec docker run --rm évite complètement la situation.

Le correctif

docker rm -f api
Émis par
docker
Docker
12

Les erreurs de Docker ne deviennent lisibles qu'une fois rangées par couche — le client qui n'atteint pas le démon, le registre qui refuse, un RUN qui échoue au build, un conteneur qui meurt dès son démarrage sont quatre problèmes distincts — et pour les couches build et exécution, la ligne n'est pas la raison : la raison est dans la sortie de la commande qui tournait à l'intérieur, tandis que le coût de chaque correctif varie aussi selon la couche.

Lire un message d’erreur

  • Lisez à partir de la première ligne. Plus on descend, plus il s’agit des entrailles de l’outil ; la cause est généralement en haut.
  • S’il y a un fichier et un numéro de ligne, commencez là — pas la première image de la pile, mais la ligne la plus haute qui nomme un fichier de vous.
  • Cherchez le message tel quel, mais retirez d’abord vos chemins et vos noms de variables : c’est cela qui empêche la correspondance.
  • La même situation se formule autrement selon la version de l’outil. Si les résultats sonnent faux, ajoutez le numéro de version.
  • Avant de coller un correctif, vérifiez ce qu’il jette. Certains sont irréversibles.

Questions fréquentes

Q. Que veut dire « Conflict. The container name "/api" is already in use by container » ?

Le nom passé avec --name appartient déjà à un autre conteneur. Les noms sont uniques y compris parmi les conteneurs arrêtés, pas seulement ceux qui tournent : le plus souvent, un conteneur mort hier le retient encore — invisible dans docker ps, visible seulement dans docker ps -a. docker rm -f api libère le nom, et détruit du même coup la couche inscriptible de ce conteneur (les volumes nommés survivent). Pour un conteneur jetable, le lancer avec docker run --rm évite complètement la situation.

Q. Comment le corriger ?

docker rm -f api — avant de le lancer, vérifiez plus haut ce que cette commande jette.

Q. Quel outil émet cela ?

docker. Cela relève de Docker, et le message compte 11 mots.

Erreurs voisines