J'essaye d'utiliser $ docker-compose up -d
pour un projet et je reçois ce message d'erreur:
ERREUR: pour l'api ne peut pas démarrer le service api: le pilote n'a pas réussi à programmer la connectivité externe sur le point de terminaison dataexploration_api_1 (8781c95937a0a4b0b8da233376f71d2fc135f46aad011401c019eb3d14a0b117): Erreur lors du démarrage du proxy userland: mkdir /port/port.0:80: Erreur lors du démarrage du proxy userland: mkdir /port/port.0:80 Des erreurs rencontrées lors de la mise en place du projet.
Je me demande si c'est peut-être le port? J'avais essayé le port 8080 auparavant. Le projet a été initialement configuré sur un mac et j'ai cloné le référentiel à partir de gitHub.
windows
github
windows-10
docker-compose
Sockness_Rogers
la source
la source
Réponses:
J'ai reçu 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.
la source
docker run -p 8080:8080 --name myJenkins -p 50000:50000 jenkins/jenkins:2.107.2
. Après avoir configuré jenkins, j'utilisedocker stop myJenkins
dans une autre fenêtre de commande et j'arrête mon hôte Windows 10. Lorsque je démarre Windows 10 qui démarre automatiquement le docker, j'utilise la commandedocker start myJenkins
et j'obtiens le message familier. Cependant, le redémarrage de docker résout le problème :)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ésactivez le démarrage rapide , ou vous redémarrerez probablement Docker à chaque démarrage de votre ordinateur. Cette solution a été obtenue à partir d' ici
la source
Le simple fait de redémarrer Docker n'a pas résolu le problème pour moi sous Windows 10.
Dans mon cas, j'ai résolu le problème avec les étapes exactes ci-dessous:
1) Fermez "Docker Desktop"
2) Exécutez les commandes ci-dessous:
3) Lancez à nouveau "Docker Desktop"
J'espère que cela aidera quelqu'un d'autre.
la source
J'ai aussi cette erreur, si vous voulez connaître la principale raison pour laquelle l'erreur se produit, c'est parce que docker exécute déjà un conteneur similaire, pour résoudre le problème (éviter de redémarrer Docker), vous devez:
Vous avez quelque chose de similaire à:
Ceci est une liste des conteneurs en cours d'exécution, prenez l'ID DU CONTAINER (copie Ctrl+C )
Vous devez maintenant terminer le processus (et laisser exécuter une autre image) exécuter cette commande.
Et c'est tout! Vous pouvez maintenant créer le conteneur.
Pour plus d'informations, visitez https://docs.docker.com/get-started/part2/
la source
Je sais qu'il y a déjà beaucoup de réponses, mais aucune n'a résolu le problème pour moi.
Au lieu de cela, je me suis débarrassé de ce message d'erreur en réinitialisant le docker aux paramètres d'usine par défaut :
la source
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 processus incorrect à arrêter.
Pour moi, la solution est:
netstat -oan
pour trouver le processus (Docker est ce processus) qui se produit sur votre port:Dans mon cas, mes ports docker sont 3306 6001 8000 9001.
Maintenant, nous avons besoin de ports libres, nous allons donc tuer ce processus par PID (colum PID), tapez
Redémarrez le docker.
Cordialement.
la source
Dans mon cas, le problème était que le conteneur docker (Nginx) utilise le port 80 et IIS utilise le même. La configuration d'un autre port dans IIS résout le problème
la source
Dans la plupart des cas, le premier cas auquel vous devriez penser est qu'un ancien service est en cours d'exécution et utilise ce port. Dans mon cas, puisque je change le nom de l'image, alors lorsque vous utilisez docker-compose pour arrêter (puis monter), cela n'arrêtera pas l'ancien conteneur (service), conduisant au nouveau conteneur ne peut pas être démarré.
la source
Une réponse un peu tardive, mais je la laisserai ici, cela pourrait aider quelqu'un d'autre Sur un Mac Mojave après de nombreux redémarrages de mac et de docker, j'ai dû le faire
sudo apachectl stop
.la source
Le moyen le plus simple de résoudre ce problème consiste à redémarrer le docker. Mais dans certains cas, cela peut ne pas fonctionner même si vous n'avez aucun conteneur en cours d'exécution dans le port.Vous pouvez vérifier les conteneurs en cours d'exécution à l'aide de la
docker ps
commande et voir tous les conteneurs qui n'ont pas été effacés mais qui ont été fermés avant d'utiliser ladocker ps -a
commande.Imaginez qu'il y ait un conteneur qui a l'ID de conteneur.
8e35276e845e
Vous pouvez utiliser la commandedocker rm 8e35276e845e
oudocker rm 8e3
pour terminer le conteneur. Notez que les 3 premières chaînes sont l'ID de cet ID de conteneur Docker particulier. Ainsi, selon le scénario ci-dessus, 8e3 est l'identifiant de 8e35276e845e .Si le redémarrage ne fonctionne pas, vous pouvez essayer de changer les ports des services dans le fichier docker-compose.yml et selon le port apache, vous devez changer le port du v-host (s'il y en a). problème.
Ex:
devrait être changé en
et le v-host particulier doit également être changé,
Ex (selon le scénario ci-dessus):
Cela vous aidera à résoudre le problème ci-dessus.
la source
Pour de nombreux utilisateurs de Windows qui ont le même problème, je suggérerais de redémarrer l'ordinateur également, car la plupart du temps (pour moi du moins) le redémarrage de Docker ne fonctionne pas. Donc, je vous suggère de suivre les étapes suivantes:
Ensuite, démarrez votre PowerShell en tant qu'administrateur et exécutez ceci:
Set-NetConnectionProfile -interfacealias "vEthernet (DockerNAT)" -NetworkCategory Private
Après cela, redémarrez votre Docker.
Après avoir terminé ces étapes, vous pourrez exécuter sans problèmes. J'espère que cela aide.
la source