web-dev-qa-db-fra.com

Réponse d'erreur du démon: le pilote a échoué à la programmation de la connectivité externe sur le noeud final

Je vais à travers ce tutoriel

création d'une image de menu fixe avec: docker build -t myapp_back .

puis voulez exécuter le conteneur avec: docker run -p 3000:3000 -d myapp_back

c'est simlpe node/express app

Mais je reçois une erreur:

C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Erreur réponse du démon: le pilote n'a pas réussi à programmer la connectivité externe sur le noeud final wizardly_wescoff (a7c53e0d168f915f900e3d67ec72805c2f8e4f5e595f6ae3c7fed8e097886a8b): Erreur lors du démarrage du proxy utilisateur: mkdir /port/tcp:0.0.0.0.0:3000:tcp:172.17.0.2:3000: erreur d'entrée/sortie.

Qu'est-ce qui ne va pas?

mon fichier docker:

FROM node:carbon
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ['npm', 'start']

et démarrez dans package.json:

"start": "nodemon src/app.js --exec babel-node"
4
gsiradze

Pour résoudre l'erreur suivante sous Windows: il suffit de redémarrer Docker (à partir du menu de la barre d'état ou en sélectionnant l'option 'Redémarrer Docker ...' dans Paramètres/Réinitialiser)

Cannot start service YOUR_SERVICE: driver failed programming external connectivity on endpoint ...
7
Troglo

On dirait qu'il s'agit d'un problème connu de docker: https://github.com/docker/for-win/issues/573

Essayer: 

  1. désactivation des "fonctionnalités expérimentales" dans le menu Paramètres/Démon
  2. redémarrage du menu fixe
  3. arrêter tous les conteneurs.

Pour arrêter tous les conteneurs, exécutez: docker ps -a -q | ForEach { docker stop $_ }

EDIT: code ShellScript de travail pour Arrêter tous les conteneurs

for a in `docker ps -a -q`
do
  echo "Stopping container - $a"
  docker stop $a
done
3
VDR

Je viens de redémarrer mon ordinateur et cela fonctionne maintenant ..

1
gsiradze

Je cours sous Linux. Si je lance docker en tant que root avec la commande Sudo, cela fonctionne correctement.

1
user1928764