web-dev-qa-db-fra.com

Le conteneur de redémarrage de docker a échoué: "déjà utilisé", mais il n'y a plus d'image de docker

J'ai d'abord eu mon image de docker nginx:

docker pull nginx

Puis j'ai commencé:

docker run -d -p 80:80 --name webserver nginx

Puis je l'ai arrêté:

docker stop webserver

Puis j'ai essayé de le redémarrer:

$docker run -d -p 80:80 --name webserver nginx
docker: Error response from daemon: Conflict. The container name "/webserver" is already in use by container 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.

Eh bien, c'est une erreur. Mais en fait il n'y a rien dans la liste des conteneurs maintenant:

docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

Pourquoi je redémarre l'image nginx a échoué? Comment le réparer?

36
Hind Forsum

C'est parce que

  • vous avez utilisé --name _ commutateur.
  • le conteneur est arrêté et non enlevé

Vous trouvez cela arrêté

docker ps -a

Vous pouvez simplement le démarrer en utilisant la commande ci-dessous:

docker start webserver

EDIT: Alternatives Si vous voulez démarrer le conteneur avec la commande ci-dessous à chaque fois,

docker run -d -p 80:80 --name webserver nginx

puis utilisez l'un des éléments suivants:

méthode 1: utilise --rm switch i.e., le conteneur est détruit automatiquement dès qu’il est arrêté

docker run -d -p 80:80 --rm --name webserver nginx

méthode 2: le supprime explicitement après avoir arrêté le conteneur avant de lancer la commande en cours d'utilisation.

docker stop <container name>
docker rm <container name>
67
Rao

Comme le dit l'erreur.

Vous devez supprimer (ou renommer) ce conteneur pour pouvoir réutiliser ce nom.

Cela vous laisse deux options.

  • Vous pouvez supprimer le conteneur qui utilise le nom "webserver" en utilisant la commande

    docker rm 036a0bcd196c5b23431dcd9876cac62082063bf62a492145dd8a55141f4dfd74

et réessayez.

  • Ou vous pouvez utiliser un nom différent lors de l'exécution de la commande. Ce n'est pas recommandé, car vous n'avez plus besoin de ce menu fixe.

Il est préférable de supprimer le menu fixe indésirable et de réutiliser le nom.

5
Neeraj