138 votes

Docker sur Windows 10 "échec du pilote pour la programmation de la connectivité externe sur le point d'accès".

J'essaie d'utiliser $ docker-compose up -d pour un projet et je reçois ce message d'erreur :

ERROR : for api Cannot start service api : driver failed programming external connectivity on endpoint dataexploration_api_1 (8781c95937a0a4b0b8da233376f71d2fc135f46aad011401c019eb3d14a0b117) : Error starting userland proxy : mkdir /port/tcp:0.0.0.0:9000:tcp:172.19.0.2:80 : erreur d'entrée/sortie Des erreurs ont été rencontrées lors du lancement du projet.

Je me demande si ce n'est pas le port ? J'avais essayé le port 8080 auparavant. Le projet a été initialement mis en place sur un Mac et j'ai cloné le dépôt de gitHub.

0 votes

Veuillez ajouter un lien vers le ticket github afin que nous puissions tous nous y rendre et l'upvoter.

274voto

Jens Christian Eldøy Points 2216

J'ai obtenu le même message d'erreur sur mon Windows 10 Pro / Docker v17.06.1-ce-win24 / Docker-Compose v1.14.0 en utilisant Windows Powershell x86 en mode administrateur.

La solution consistait simplement à redémarrer Docker.

0 votes

J'utilise docker Version 18.03.0-ce-win59 (16762) sur Windows 10 Professional. L'image Docker est jenkins/jenkins:2.107.2. Après le pull, j'utilise cette commande pour installer docker run -p 8080:8080 --name myJenkins -p 50000:50000 jenkins/jenkins:2.107.2 . Après avoir terminé la configuration de Jenkins, j'utilise docker stop myJenkins dans une autre fenêtre de commande et éteindre mon hôte Windows 10. Lorsque je démarre Windows 10 qui lance automatiquement Docker, j'utilise la commande docker start myJenkins et obtenir le message familier. Cependant, le redémarrage de Docker résout le problème :)

1 votes

Quelqu'un sait-il pourquoi cela se produit ? Le redémarrage de Docker semble difficile, y a-t-il un moyen de résoudre ce problème correctement ?

0 votes

La même solution a fonctionné pour moi en mars 2019. Utilisation de Docker Desktop Version 2.0.0.3 (31259) Canal : stable Build : 8858db3 Client : Docker Engine - Community Version : 18.09.2 API version : 1.39 Go version : go1.10.8 Git commit : 6247962 Construit : Sun Feb 10 04:12:31 2019 OS/Arch : Windows/amd64 Experimental : false Win 10 Version 10.0.18346.1 ( fast version of pre release )

68voto

chomp Points 735

Si cela se produit une fois, le redémarrage de Docker fera le travail. Dans mon cas, cela se produisait à chaque fois que je redémarrais mon ordinateur.

Dans ce cas, désactiver le démarrage rapide sinon vous allez probablement redémarrer Docker à chaque fois que votre ordinateur démarre. Cette solution a été obtenue à partir de ici

7 votes

Ceci devrait être accepté comme une réponse. Le redémarrage fonctionne, mais lorsque vous devez le faire à chaque fois, cela devient ennuyeux.

0 votes

J'ai obtenu cette erreur lors du changement d'utilisateur sous Windows 10

59voto

Le simple redémarrage de Docker n'a pas réglé le problème pour moi sur Windows 10.

Dans mon cas, j'ai résolu le problème en suivant exactement les étapes ci-dessous :

1) Fermez "Docker Desktop".

2) Exécutez les commandes ci-dessous :

net stop com.docker.service
net start com.docker.service

3) Lancez à nouveau "Docker Desktop".

J'espère que cela aidera quelqu'un d'autre.

9voto

J'ai eu cette erreur aussi, si vous voulez savoir la raison principale pour laquelle l'erreur se produit, c'est parce que docker est déjà en cours d'exécution d'un conteneur similaire, pour résoudre le problème( éviter de redémarrer Docker), vous devez :

docker container ls

Tu as quelque chose de similaire :

CONTAINER ID        IMAGE               COMMAND             CREATED
1fa4ab2cf395        friendlyhello       "python app.py"     28 seconds ago

C'est une liste des conteneurs en cours d'exécution, prenez l'ID du CONTAINER (copie Ctrl + C )

Maintenant, vous devez terminer le processus (et laisser exécuter une autre image) en exécutant cette commande.

docker container stop <CONTAINER_ID>

Et c'est tout ! Vous pouvez maintenant créer le conteneur.

Pour plus d'informations, visitez https://docs.docker.com/get-started/part2/

8voto

Jhon Didier Sotto Points 111

Normalement, cette erreur se produit lorsque vous essayez de démarrer un conteneur mais que les ports dont le conteneur a besoin sont occupés, généralement par le même Docker comme le résultat d'un dernier mauvais processus à arrêter.

Pour moi, la solution est la suivante :

  1. Ouvrez Windows CMD en tant qu'administrateur, tapez netstat -oan pour trouver le processus (Docker est le processus en question) qui occupe votre port :

Dans mon cas, mes ports docker sont 3306 6001 8000 9001.

  1. Maintenant nous devons libérer ces ports, donc nous allons tuer ce processus par PID (colum PID), tapez

    TASKKILL /PID 9816 /F
  2. Redémarrez le docker.

  3. Soyez heureux.

Regards.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X