Подтвердить что ты не робот

Docker Compose Up дает "Система не может найти указанный файл". ошибка

Я недавно установил Docker Toolbox на мой компьютер с Windows 10.

Однако всякий раз, когда я запускаю docker-compose up я получаю следующее сообщение об ошибке:

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

Обратите внимание, что у меня есть C:\Python27 и C:\Python27\Scripts в моих пользовательских и системных переменных окружения. Я также попробовал это, используя Python 3, и он все еще не работает.

4b9b3361

Ответ 1

У нас с вами может быть или не быть одна и та же проблема. В ссылке, размещенной @Haken Lid выше, проблема заключается в том, что переменная среды PATH не имеет правильной версии Python.

НО, для меня проблема была в том, что я не установил все свои переменные среды, запустив

eval $(docker-machine env <vmname>)

прежде чем я запустил docker-compose <any command>.

Ответ 2

Я просто забыл запустить "Docker for Windows", что привело к этой ошибке.

Ответ 3

Запустите docker-compose с помощью терминала быстрого запуска Docker. Это решит вашу ошибку.

Docker Quickstart Terminal в основном представляет собой обычную оболочку, но позволяет создавать машину по умолчанию. Он также может быть использован для подключения к другим машинам:

eval $(docker-machine env <MACHINE_NAME>)

Ответ 4

Убедитесь, что Docker for Windows включен и запущен в системном трее. Это была моя проблема.

Ответ 5

Вы можете установить свойства, введя следующие команды:

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

Ответ 6

У меня была эта проблема со свежей установкой Docker на Windows 10. Моя проблема заключалась в том, что я фактически не запускал Docker первым; Я только что установил MSI и запустил "docker-compose" из командной строки.

Как только я запустил Docker (и выполнил еще несколько шагов после установки, включая выход из системы и перезагрузку компьютера), я смог запустить docker-compose без проблем.

Ответ 7

Я провел около часа, исправляя эту проблему на своей машине Windows.

  • Установите Python (версия 3.6.1 отлично справилась со мной), выбрав опцию "Добавить в PATH".
  • Установите Docker.
  • Перезагрузите компьютер.
  • На панели уведомлений вы увидите значок для Docker. Щелкните его правой кнопкой мыши и выберите Settings.... Перейдите к Shared Drives и выберите C: диск. Вам будет предложено ввести учетные данные. [*]
  • Запустить docker build .
  • Запустите docker-compose up.

    [*]: Если вы этого не сделаете, вы можете увидеть эту ошибку, если на шаге 6: ERROR: for website Cannot create container for service website: C: drive is not shared. Please share it in Docker for Windows Settings. Если после ввода ваших учетных данных диск C: не установлен, создайте нового пользователя для вашего компьютера, который имеет полный доступ к папке, в которой вы будете запускать docker-compose up.

Ответ 8

В Docker Quickstart Terminal я запустил docker-machine env, и он дал мне:

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)

Я запустил eval $("C:\Program Files\Docker Toolbox\docker-machine.exe" env). Это!

Это решение было скопировано с этой проблемы. Я на Windows 10 Home. Это решило мою проблему.

Ответ 9

Выход из Docker и остановка Docker VM решили это за меня.

Ответ 10

Я столкнулся с этой проблемой после того, как Docker Quickstart Terminal повесил некоторое время на "Ожидание IP..." во время запуска.

При перезагрузке терминала быстрого запуска Docker все исправлено.

Ответ 11

Я использую Docker Toolbox, так как я нахожусь на Windows 8.1. После многих часов устранения неполадок я решил эту проблему:

  • Деинсталляция Python 2.7 и установка Python 3.6.4 и добавление его в переменные окружения.
  • Перезапустите Docker Quickstart Terminal и выполните команду оттуда.

Ответ 12

Возникла эта проблема в Windows после перезапуска Docker Desktop.

Решением было закрыть окно моего терминала и открыть новое.

Ответ 13

У меня была эта проблема сегодня, вот что исправило ее для меня в Windows.

  1. Я зашел в настройки Docker и нажал "Сброс" на левой стороне.
  2. Затем я нажал "Сброс к заводским настройкам..."
  3. Затем перешел в "Общие диски" и включил общие диски (неважно, какой диск) для Docker, щелкнул "сбросить учетные данные" и вставил мои учетные данные.

Если все работает правильно, флажок останется отмеченным после нажатия "Сбросить учетные данные". Если этого не произойдет, сброс ваших учетных данных приведет к тому, что флажок будет снят, и вам придется снова сбросить настройки Docker до заводских настроек по умолчанию.