web-dev-qa-db-fra.com

docker: le pilote n'a pas réussi à programmer la connectivité externe sur le serveur Web du terminal

Je suis sur Mac. Essayer d'exécuter un exemple de menu fixe Après cette documentation: https://docs.docker.com/docker-for-mac/

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

Mais je reçois cette erreur: 

docker: Error response from daemon: driver failed programming external connectivity on endpoint webserver (bd57efb73c738e3b271db180ffbee0a56cae86c8193242fbc02ea805101df21e): Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE).

Besoin d'aide pour.

26
Jason Bourne

Dans votre message d'erreur, la variable EADDRINUSE indique que le port 80 est déjà utilisé sur le docker VM ou éventuellement directement sur votre ordinateur portable. Vous pouvez arrêter ce qui fonctionne sur ce port ou modifier le port utilisé dans votre commande Docker. Pour passer au port externe 8080, utilisez:

docker run -d -p 8080:80 --name webserver nginx
36
BMitch

Essayez de redémarrer le menu fixe. Cela fonctionne généralement pour moi.

12
anotherNoob

Récemment, ce problème a commencé à se produire souvent sous Windows. Vous pouvez essayer de redémarrer le menu fixe ou vous pouvez arrêter manuellement le menu fixe avant l’arrêt de Windows - le menu fixe démarre proprement au redémarrage. La question de docker est ouverte le 24/07/2018 et de plus amples détails sont disponibles à l’adresse https://github.com/docker/for-win/issues/1967

4
webuniverse.io

J'ai eu le même problème avec l'un de mes conteneurs. J'ai tout essayé mais quand rien ne fonctionnait, j'ai essayé ce qui suit et j'ai relancé le conteneur avec succès

 - Sudo service docker stop
 - Sudo rm /var/lib/docker/network/files/local-kv.db
 - Sudo service docker start
3
smishra

utilisateurs Windows: Description du menu fixe

Sur les systèmes Windows, CTRL + C n'arrête pas le conteneur. Alors, tapez d'abord CTRL + C pour récupérer l'invite (ou ouvrir un autre shell), puis tapez conteneur docker ls pour lister les conteneurs en cours d'exécution, suivi de docker conteneur stop pour arrêter le conteneur . Sinon, vous obtenez une réponse d'erreur du démon lorsque vous essayez d'essayer réexécutez le conteneur à l'étape suivante.

J'ai eu le même problème, je pensais avec CTRL + C arrêté le conteneur, mais ce n'était pas le cas, aucune des réponses ci-dessus ne fonctionne car ils arrêtent tous les conteneurs, redémarrer docker ou arrêter explicitement le conteneur.

Je préfère:

docker container ls #list containers running
docker stop [container id] #replace [container id] with the container id running
0
John Balvin Arias

Cela semble être un problème d’incompatibilité avec Windows "amorçage rapide" comme décrit ici: (redémarrez simplement le service de menu fixe) et cela peut fonctionner.

https://github.com/docker/for-win/issues/2722

Ceci est dû à une incompatibilité avec Docker et fastboot. Vous pouvez soit vous assurer que vous arrêtez tous les conteneurs avant de fermer Windows, soit désactiver Fastboot dans les paramètres d'alimentation de Windows en procédant comme suit:

CTRL+R > "powercfg.cpl" > "Choose what the power buttons do" > "Change settings that are currently unavailable" > Deselect "Turn on fast start-up"

Vous pouvez également désactiver fastboot avec une seule commande dans powershell si cela vous convient:

Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Power\' -Name HiberbootEnabled -Value 0

0
atom88