web-dev-qa-db-fra.com

Docker Compose Up donne "Le système ne peut pas trouver le fichier spécifié". Erreur

J'ai récemment installé Docker Toolbox sur mon ordinateur Windows 10.

Cependant, chaque fois que j'exécute docker-compose up, le message d'erreur suivant s'affiche:

Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose\cli\main.py", line 65, in main
  File "compose\cli\main.py", line 117, in perform_command
  File "compose\cli\main.py", line 849, in up
  File "compose\project.py", line 372, in up
  File "compose\project.py", line 539, in warn_for_swarm_mode
  File "site-packages\docker\api\daemon.py", line 33, in info
  File "site-packages\docker\utils\decorators.py", line 47, in inner
  File "site-packages\docker\client.py", line 139, in _get
  File "site-packages\requests\sessions.py", line 488, in get
  File "site-packages\requests\sessions.py", line 475, in request
  File "site-packages\requests\sessions.py", line 596, in send
  File "site-packages\requests\adapters.py", line 423, in send
  File "site-packages\requests\packages\urllib3\connectionpool.py", line 595, in urlopen
  File "site-packages\requests\packages\urllib3\connectionpool.py", line 363, in _make_request
  File "httplib.py", line 1057, in request
  File "httplib.py", line 1097, in _send_request
  File "httplib.py", line 1053, in endheaders
  File "httplib.py", line 897, in _send_output
  File "httplib.py", line 859, in send
  File "site-packages\docker\transport\npipeconn.py", line 31, in connect
  File "site-packages\docker\transport\npipesocket.py", line 22, in wrapped
  File "site-packages\docker\transport\npipesocket.py", line 49, in connect
pywintypes.error: (2, 'WaitNamedPipe', 'The system cannot find the file specified.')
docker-compose returned -1

Notez que j'ai C:\Python27 et C:\Python27\Scripts dans mes variables d'environnement user et system . J'ai aussi essayé d'utiliser Python 3 et cela ne fonctionne toujours pas.

43
Yahya Uddin

Vous et moi pouvons ou non avoir le même problème. Dans le lien posté par @Haken Lid ci-dessus, le problème concerne la variable d'environnement PATH ne disposant pas de la version correcte de Python.

MAIS, pour moi, le problème était que je n'avais pas défini toutes mes variables d'environnement, en exécutant

eval $(docker-machine env <vmname>)

avant j'ai couru le docker-compose <any command>.

18
jenming

J'ai juste oublié de démarrer "Docker pour Windows", ce qui a entraîné cette erreur.

104
Razze

Assurez-vous que Docker pour Windows est opérationnel dans la barre d'état système. C'était mon problème.

10
Mike Glenn

Vous pouvez définir les propriétés en tapant les commandes suivantes:

docker-machine env --Shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --Shell cmd default') DO @%i
4
Bala

J'ai passé près d'une heure à résoudre ce problème sur ma machine Windows.

  1. Installez Python (la version 3.6.1 a bien fonctionné pour moi), en sélectionnant l’option "ajouter à PATH".
  2. Installez Docker .
  3. Redémarrez votre machine. 
  4. Sur votre barre de notification, vous verrez une icône pour Docker. Cliquez dessus avec le bouton droit et sélectionnez Settings.... Allez à Shared Drives et sélectionnez C: drive. Vous serez invité pour les informations d'identification. [*]
  5. Exécuter docker build .
  6. Exécutez docker-compose up.

    [*]: Si vous ne faites pas cette étape, vous risquez de rencontrer cette erreur lors de l'étape 6: ERROR: for website Cannot create container for service website: C: drive is not shared. Please share it in Docker for Windows Settings. Si, après avoir entré vos informations d'identification, le lecteur C: n'est pas coché, créez un nouvel utilisateur pour votre ordinateur disposant d'un accès complet au dossier dans lequel vous exécuterez docker-compose up.

J'ai eu ce problème avec une nouvelle installation de Docker sur Windows 10. Mon problème était que je n'avais pas réellement exécuté Docker au préalable; Je viens d'installer le fichier .msi et d'exécuter "docker-compose" à partir de la ligne de commande.

Une fois que j'ai exécuté Docker (et suivi quelques étapes postérieures à l'installation, notamment la déconnexion et le redémarrage de mon ordinateur), j'ai pu exécuter docker-compose sans problème.

3
Dustin Rasener

Quitter Docker et arrêter Docker VM a résolu le problème pour moi.

2
AUBG

Dans Docker Quickstart Terminal, j'ai exécuté docker-machine env et cela m'a donné:

export DOCKER_TLS_VERIFY="1"
export DOCKER_Host="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\TheGeniesis\.docker\machine\machines\default"
export DOCKER_MACHINE_NAME="default"
export COMPOSE_CONVERT_WINDOWS_PATHS="true"

#### Run this command to configure your Shell:
eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env)

J'ai couru eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env). C'est tout!

Cette solution a été copiée à partir de ce problème . Je suis sur Windows 10 Home. Cela a résolu mon problème.

2
HackAfro

J'utilise Docker Toolbox depuis Windows 8.1. Après de nombreuses heures de dépannage, j'ai résolu ce problème en:

  • Désinstallez Python 2.7, installez Python 3.6.4 et ajoutez-le aux variables d’environnement.
  • Redémarrez Docker Quickstart Terminal et exécutez la commande à partir de là.
0
Ashwin J Chhetri

Je me suis heurté à ce problème après que le terminal Docker Quickstart se soit accroché pendant un moment sur "En attente d'une adresse IP ..." au démarrage.

Le redémarrage du terminal Docker Quickstart a tout corrigé.

0
d23