Docker - Lier pour 0.0.0.0:4000 a échoué: le port est déjà alloué
Je suis en utilisant le panneau pour la première fois et j'ai essayé de mettre en œuvre cette -
https://docs.docker.com/get-started/part2/#tag-the-image
À un moment, j'ai été d'essayer de se connecter à localhost par cette commande
$ curl http://localhost:4000
qui a montré cette erreur-
curl: (7) Failed to connect to localhost port 4000: Connection refused
Cependant, j'ai résolu ce problème en suivant le code -
$ docker-machine ip default
$ curl http://192.168.99.100:4000
Après que tout allait bien, mais dans la dernière partie, j'ai essayé de lancer l'application en utilisant la ligne suivante selon le tuto...
$ docker run -p 4000:80 anibar/get-started:part1
Mais, j'ai eu cette erreur
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: driver failed programming external connectivity on endpoint goofy_bohr (63f5691ef18ad6d6389ef52c56198389c7a627e5fa4a79133d6bbf13953a7c98): Bind for 0.0.0.0:4000 failed: port is already allocated.
Il semble que le port est affecté, de sorte que pouvez-vous svp m'aider en informant comment je peux résoudre ce..
Merci beaucoup 🙂
Vous devez vous connecter pour publier un commentaire.
Vous devez vous assurer que la précédente conteneur, vous avez lancé est tué, avant de lancer un nouveau qui utilise le même port.
Hommage à IgorBeaz, vous avez besoin d'arrêter de courir le conteneur actuel. Pour cela, vous allez savoir CONTENEUR actuel ID:
Vous obtenez quelque chose comme:
Puis vous vous arrêtez le conteneur par:
Enfin, vous essayez de faire ce que tu voulais faire, par exemple:
Au-dessus de deux réponses sont correctes, mais ne fonctionne pas pour moi.
docker container ls
docker container ls -a
et après qu'il a montré tous les processus déjà quitté et en cours d'exécution.docker stop <container id>
oudocker container stop <container id>
ne fonctionne pasdocker rm -f <container id>
et cela a fonctionné.docker container ls -a
et ce processus n'était pas présent.L'arrêt du conteneur ne fonctionne pas pour moi non plus. J'ai changé le port
docker-compose.yml
.Pour toute personne ayant ce problème avec
docker-compose
.Lorsque vous avez plus d'un projet (c'est à dire dans des dossiers différents) avec les mêmes services dont vous avez besoin pour exécuter
docker-compose stop
dans chaque de vos autres projets.J'ai eu le même problème avec docker-composer:
Je l'ai résolu de cette façon:
Tout d'abord, j'ai arrêté tous les conteneurs:
Puis j'ai exécuté une
lsof
commande pour trouver le processus en utilisant le port (pour moi c'était le port 9000)Enfin, j'ai "tué" le processus (dans mon cas, c'était un VSCode extension):