2017-02-05 8 views
21

Niedawno zainstalowałem przybornik dokera na moim komputerze z systemem Windows 10.Docker Compose Up podaje "System nie może znaleźć określonego pliku." błąd

Jednak, gdy biegnę docker-compose up pojawia się następujący komunikat o błędzie:

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 

Zauważ, że mam C:\Python27 i C:\Python27\Scripts w obu moich użytkownik & zmiennych systemowych. Próbowałem również tego przy użyciu Pythona 3 i nadal nie działa.

+0

Może to samo co ten numer? https://github.com/shipping-docker/php-app/issues/19 –

+0

Czy możesz dodać konfigurację 'docker-compose', aby wiedzieć, czy mapujesz wolumen lub jakiego obrazu używasz? –

+0

Czy możesz dodać odpowiedni kod i konfigurację Dockerfile? –

Odpowiedz

7

Ty i ja możemy, ale nie musimy mieć tego samego problemu. W odsyłaczu zamieszczonym przez @Haken Lid powyżej, problem jest związany z brakiem właściwej wersji Pythona.

, ale dla mnie, problem był taki, że nie zaszło wszystkich moich zmiennych env, uruchamiając

eval $(docker-machine env <vmname>)

zanim wpadłem docker-compose <any command>.

+0

To działało dla mnie. @jenming –

3

Można ustawić właściwości wpisując następujące polecenia

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

Run doker, składających się z Docker Quickstart Terminal. To rozwiąże Twój błąd

+2

Co, jeśli nie? ; o) – Eric

1

Spędziłem blisko godzinę, naprawiając ten problem na moim komputerze z systemem Windows.

  1. Zainstaluj Python (wersja 3.6.1 działała dobrze dla mnie), wybierając opcję "dodaj do PATH".
  2. Zainstaluj Docker.
  3. Uruchom ponownie urządzenie.
  4. Na pasku powiadomień zobaczysz ikonę Docker. Kliknij go prawym przyciskiem myszy i wybierz opcję Settings.... Przejdź do numeru Shared Drives i wybierz napęd C:. Zostaniesz poproszony o podanie danych uwierzytelniających. [*]
  5. Uruchom docker build .
  6. Uruchom docker-compose up.

    [*]: Jeśli nie wykonasz tego kroku, możesz zobaczyć ten błąd w kroku 6: ERROR: for website Cannot create container for service website: C: drive is not shared. Please share it in Docker for Windows Settings. Jeśli po wpisaniu poświadczeń dysk C: nie jest zaznaczony, utwórz nowego użytkownika dla swojego komputera, który ma pełny dostęp do folderu, w którym będzie działać docker-compose up.

0

wpadłem na ten problem po Docker Szybki Terminal powieszono chwilę na „Oczekiwanie na IP ...” podczas rozruchu.

Ponowne uruchomienie Docker Quickstart Terminal naprawiło wszystko.

1

Miałem ten problem ze świeżą instalacją Dockera na Windows 10. Mój problem polegał na tym, że najpierw nie uruchomiłem Dockera; Właśnie zainstalowałem .msi i uruchomiłem "docker-compose" z linii poleceń.

Po uruchomieniu Dockera (i wykonaniu kilku kolejnych czynności poinstalacyjnych, w celu włączenia wylogowania i ponownego uruchomienia komputera), udało mi się uruchomić program dokujacy bez problemu.

23

Po prostu zapomniałem uruchomić "Docker dla Windows", co spowodowało ten błąd.

+0

Inną alternatywą, jeśli to nie zadziałało, jest wyłączenie i ponowne włączenie. Zamknij terminal szybkiego startu, ręcznie otwórz Virtualbox, zatrzymaj maszynę Docker VM (dla mnie została ona nazwana 'default'), a następnie ponownie otwórz terminal szybkiego startu. Spowoduje to ponowne uruchomienie procesu rozruchu, potencjalnie usuwając wszelkie błędy związane z siecią. – AlbinoDrought

4

Upewnij się, że w zasobniku systemowym działa Docker dla systemu Windows. To był mój problem.

0

Używam przybornika doków, ponieważ jestem na Windows 8.1. Po wielu godzinach rozwiązywania problemów rozwiązałem ten problem przez -> Odinstalowywanie Pythona 2.7 i zainstalowanie Pythona 3.6.4 i dodanie go do zmiennych środowiskowych . -> restartowanie terminalu dokowania-szybkiego startu i uruchamianie polecenia z tego miejsca.

+0

Dodaj opis – Billa

1

W Docker Quickstart Terminal Pobiegłem docker-machine env, to dał mi:

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) 

Pobiegłem eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env) to jest to! To rozwiązanie zostało skopiowane z this issue. Jestem w domu Windows 10. To rozwiązało mój problem.

Powiązane problemy