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

Команды Docker не работают (в Windows)

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

docker ps

Я получаю сообщение об ошибке:

An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v
1.23/containers/json: open //./pipe/docker_engine: The system cannot find the file specified.

Таким образом, видимо, какой-то путь все испортился. Кто-нибудь знает, какой путь это и как это исправить?

4b9b3361

Ответ 1

При запуске docker ps и получении:

Произошла ошибка при попытке подключения: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json: open//./pipe/docker_engine: система не может найти указанный файл.

Необходимо задать следующие свойства среды:

 set DOCKER_CERT_PATH=%USERPROFILE%\.docker\machine\machines\default
 set DOCKER_HOST=tcp://192.168.99.100:2376
 set DOCKER_MACHINE_NAME=default
 set DOCKER_TLS_VERIFY=1

Предполагается, что путь %USERPROFILE%\.docker\machine\machines\default - это путь по умолчанию, где находятся файлы докеры cert.pem, key.pem, ca-key.pem и ca.pem; имя виртуальной машины (созданное docker-machine create) - это default и нижняя граница виртуального сервера DHCP-сервера (найденная в VirtualBox- > File- > Preferences- > Network- > Host-only Networks- > наведите указатель мыши на VirtualBox Host-Only Ethernet-адаптер) - 192.168.99.100, и никакая другая виртуальная машина не работает в VirtualBox.

Ответ 2

Я столкнулся с этой проблемой при использовании док-машины, и я не запускал команду docker-machine env после перезагрузки. Я не уверен, как это сделать в cmd.exe, но если вы используете powershell, попробуйте выполнить эту команду:

docker-machine env --shell=powershell | Invoke-Expression

Ответ 3

Такая же проблема здесь в Win 7. Решение:

В окне быстрого запуска Docker в строке $prompt запустите следующую строку:

your_user @your_machine MINGW64 ~

$eval $( "C:\Program Files\Docker Toolbox\docker-machine.exe" env по умолчанию)

Затем вы сможете запустить "docker run hello-world".

Ответ 4

Убедитесь, что Hyper-V запущен и запущен:

  • открыть расширенную командную строку
  • type bcdedit /set hypervisorlaunchtype auto
  • перезагрузка
  • запустите "Docker for Windows"

Ответ 5

  • Открыть cmd с правами администратора.
  • Выполнить следующую команду

    docker-machine env --shell cmd по умолчанию

  • вы получите следующий вывод

    SET DOCKER_TLS_VERIFY = 1

    SET DOCKER_HOST = tcp://192.168.99.102: 2376

    SET DOCKER_CERT_PATH = C:\Users\DBashyal.docker\machine\machines\default

    SET DOCKER_MACHINE_NAME = по умолчанию

    REM Запустите эту команду, чтобы настроить оболочку:

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

  • Скопируйте выделенную строку и выполните на cmd

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

  • Выполните следующую команду

    docker ps

Ответ 6

Я создал новую машину, используя следующую команду

docker-machine create --driver=virtualbox vbox-test

Затем выполняется команда

docker-machine env --shell=powershell | Invoke-Expression

Получил работу...

Ответ 7

Мне пришлось иметь дело с той же проблемой в Windows.

Чтобы решить эту проблему:

  • Создайте докер-машину (только если у вас ее нет)

    docker-machine create  default
    
  • Получите ENV файлы, которым нужен клиент-докер, чтобы подключиться к машине-докере (серверу) [Это нужно делать каждый раз или устанавливать в своих ENV-vars]

    docker-machine.exe env default
    

    Вы можете установить их вручную или выполнить одно из следующих действий в зависимости от ваших shell environment (cmd, bash, power-shell)

    docker-machine env --shell=cmd # you need to run it manually
    docker-machine env --shell=bash > env-var-commands-tmp && . env-var-commands-tmp && rm env-var-commands-tmp
    docker-machine env --shell=powershell | Invoke-Expression
    

Ответ 8

Я просмотрел все вышеупомянутые ответы, и никто из них не работал. Затем я узнал, что команда должна выполняться в командной строке linux, например bash. поэтому попробуйте:

Введите команду в Docker bash терминал VM, который поставляется с панелью инструментов докеров, в отличие от окон cmd

Если вы уже убедились, что ваш докер запущен

Ответ 9

Как указано в других ответах, вам нужно установить несколько переменных среды.

Самый простой способ сделать это:

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

Это запустит docker-machine env --shell cmd и добавит эти переменные среды.

Если вы хотите, чтобы эти переменные были постоянными, они определяли их в окнах (учебник).

Ответ 10

Щелкните правой кнопкой мыши значок "Докер" в лотке и выберите "Переключиться на контейнеры Windows...". Возможно, вам будет предложено включить функцию "Контейнеры". Сделайте это и снова перезагрузитесь.

Ответ 11

В моем случае служба docker не была запущена после перезагрузки, поэтому я только начал

Ответ 12

У меня была аналогичная проблема, когда я установил Docker CE для Windows Version 17.11.0-ce-rc4-win39 (14244) Канал: edge e557194 в Windows 10.

В командных/cmd-окнах, когда я пытался запускать команды docker ps, docker version, docker info, у меня была ошибка, например "ошибка во время подключения: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.34/version" каждый раз.

Чтобы решить эту проблему,

  • Я сделал "Hyper-V" выключен (снят) с "Включить или отключить функцию Windows", для чего необходимо перезапустить ОС.
  • И после первого перезапуска я сделал "Hyper-V" On (Checked), что снова потребовало перезагрузки ОС.

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

Итак, перевернув Hyper-V off, а затем на разрешил эту проблему для меня.

Ответ 13

Я получил решение от этой проблемы. Это не просто как ответ никеша сказал, что SwitchDaemon может исправить это напрямую. Я думаю, что вы должны выполнить эту команду дважды, чтобы переключить своего демона на ваш предыдущий демон.

cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
# then check the docker OS/Arch
docker version
# You may see the different OS/Arch 
./DockerCli.exe -SwitchDaemon
# then you got your images and containers back 

Эта команда просто переключает вашего демона с вашего демона defualt на другого демона (зависит от того, что вы установили). Когда вы переключаетесь на другого демона, изображения и контейнеры на предыдущем демоне исчезают (но не удаляются).

Ответ 14

Чтобы запустить хост по умолчанию в Windows, я знаю три способа, приведенных ниже, вы можете использовать один из них.

  1. Запуск или перезапуск уже созданной машины по умолчанию с помощью Docker:

    docker-machine start default
    docker-machine restart default
    

    Сейчас проверь docker-machine env

  2. Следующие свойства среды должны быть установлены:

    set DOCKER_CERT_PATH=%USERPROFILE%\.docker\machine\machines\default
    set DOCKER_HOST=tcp://192.168.99.100:2376
    set DOCKER_MACHINE_NAME=default
    set DOCKER_TLS_VERIFY=1
    
  3. Чтобы создать новый компьютер, используйте следующую команду:

Windows 10/HyperV:

docker-machine create --driver hyperv default
docker-machine create -d hyperv default

Mac, Linux, Windows 7 и 8:

docker-machine create --driver virtualbox default
docker-machine create -d virtualbox default

Ответ 15

У меня была эта проблема на машине Windows 2016. Случилось так, что служба докеров не была запущена. В моем случае служба докеров как ошибка со следующей ошибкой

fatal: Ошибка запуска daemon: найден файл pid, убедитесь, что docker не запущен или не удален C:\ProgramData\docker.pid

Удаление файла C:\ProgramData\docker.pid сделало трюк.

Ответ 16

В лотке Docker запущен, однако в Docker- > Settings статус: невозможно запустить. Ошибка перезагрузки Docker.

Ответ 17

ниже разрешено. я скопировал ответ с другого форума

У меня была эта проблема после обновления. После повторной установки VB я включил "VirtualBox NDIS6 Bridged Networking Driver" в сетевом подключении свойств.

В моем случае свойство отключено по умолчанию. `

Ответ 18

Windows 10 Professional Для меня служба Docker была запущена, но Докер все еще нужно было "начать". То есть, у меня была настройка "Запустить Docker при входе в систему", не отмеченную в значке лотка Docker.

Прежде чем найти это, я отправился в папку программы Docker и нажал "Docker for Windows". Через короткое время отображается сообщение "Docker is running".

Ответ 19

Для меня эта ошибка была решена после удаления файла daemon.json в "%programdata%\docker\config"

Содержимое моего daemon.json следующее:

{
  "hosts": ["tcp://0.0.0.0:2375"]
}

Я создал это вручную как часть некоторого тестирования. Но после перезагрузки сервера я начал получать ошибку в этом вопросе.

Ответ 20

Ошибка действительно беспокоит. Надеюсь, разработчики Docker что-то сделают. Потребовалось много попыток и ошибок. Благодаря Stackoverflow и другим блогам. В моем случае я использую Windows 10 Pro. Я установил с DockerToolbox.exe после нескольких неудачных попыток с Docker для Windows Installer.exe. Затем я столкнулся с An error occurred trying to connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v . Последовали эти шаги, и проблема была решена. Во-первых, я пошел в Панель управления → Включить или выключить Windows-функции и отключить Hyper-V
введите описание изображения здесь Далее, Open PowerShell в качестве администратора:

docker-machine env --shell=powershell | Invoke-Expression
type bcdedit /set hypervisorlaunchtype auto

Перезагрузка моей системы. Затем я запустил "Docker Quickstart Terminal", затем я ввел это в окно оболочки.

run "Docker for Windows"
docker run hello-world

У меня все получилось. Затем откройте командную строку

docker run hello-world

Он дал ошибку: Затем я ввел

set DOCKER_CERT_PATH=%USERPROFILE%\.docker\machine\machines\default
set DOCKER_HOST=tcp://192.168.99.100:2376
set DOCKER_MACHINE_NAME=default
set DOCKER_TLS_VERIFY=1

Большинство предложений выше тоже полезны.

Ответ 21

Я видел это сообщение об ошибке после выходных. Моя установка была в порядке до этого. Мой конфиг и соединения выглядели правильно. $docker-machine restart default исправил это для меня в Windows 7

Ответ 22

Я получал эту ошибку при запуске команды docker-compose up. Проблема для меня заключалась в том, что служба Docker не работала. Поэтому мне пришлось запустить services.msc и запустить службу Docker.

enter image description here

Ответ 23

Я решил эту ошибку, запустив {DOCKER_TOOLBOX_INSTALL_PATH}start.sh в bash.

Ответ 24

В моем случае все вышеперечисленные решения не решили. Вместо зилурране помог ответ.

    cd "C:\Program Files\Docker\Docker"
    ./DockerCli.exe -SwitchDaemon

Ответ 25

  1. Переключиться на контейнеры Windows
  2. информация о докере
  3. докер PS
  4. Вернитесь к контейнерам Linux
  5. информация о докере
  6. Виола!

Переключатель Windows, вероятно, запускает недостающие конфигурации, которые также нужны Linux.

Ответ 26

У меня была похожая проблема. Для меня я не вошел в докер из строки состояния. Что я сделал, чтобы войти в докер из строки состояния. После того, как я вошел в систему, я смог правильно выполнить все команды. Попробуйте войти в систему, используя свой идентификатор докера и пароль, возможно, это решит вашу проблему.

Ответ 27

У меня была такая же проблема на моей Windows 10. Найдите ниже, что я сделал для ее решения:

После установки Docker просто перезагрузите компьютер, запустите приложение докеры (возможно, потребуется включить Hyper-V), затем откройте командную строку и введите:     docker run hello-world

Все отлично работает:)