Ошибка докерной машины "Не удалось найти подходящий IP-адрес для MAC-адреса" в Windows 10

У меня странная проблема с докер-машиной на окнах 10. И я все еще не могу найти решение.

Раньше это работало, но после некоторого обновления Windows 10 я начал получать ошибку "Не удалось найти соответствующий IP для MAC-адреса...". Эта ошибка появляется при любом действии с докер-машиной.

Например, с докер-машиной ls: введите описание изображения здесь

Я попытался переустановить dockertools с помощью виртуального окна (с разными сетевыми драйверами). Пытался установить последнюю версию виртуальной коробки. Удалите и заново создайте виртуальную машину докера. Удалите все сети сети, содержащие только vitrualbox. Все это не помогает.

Вот что я получаю с docker-machine -D create -d virtualbox по умолчанию:

введите описание изображения здесь

docker-machine env default:

введите описание изображения здесь

регенерация-сертификаты докер-машины:

введите описание изображения здесь

Может ли кто-нибудь указать мне в правильном направлении? Что может вызвать такую ​​проблему?

Спасибо!


Я пробовал метод, предложенный VonC.

  • Удалите виртуальный бокс и очистите драйверы и реестр, как это было предложено.
  • Перезагрузите компьютер.
  • Установить последний виртуальный бокс (версия 5.0.18 r106667)
  • Перезагрузите компьютер.
  • Установите среду, как было предложено.

Это результат.

C:\Users\Vadim>Desktop\env.bat

C:\Users\Vadim > rem минимальный путь:

C:\Users\Vadim > установить PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem

C:\Users\Vadim > rem добавить Git в PATH

C:\Users\Vadim > rem set glatest = PortableGit-2.8.1-64-bit

C:\Users\Vadim > установить PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Program Files\ Git\bin; C:\Program Files\Git\usr\bin; C:\Program Files\Git

C:\Users\Vadim > установить TERM = msys

C:\Users\Vadim > установить GIT_HOME = C:\Program Files\Git

C:\Users\Vadim > rem добавить VirtualBox к PATH

C:\Users\Vadim > установить PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Program Files\Git\bin; C:\Program Files\Git\usr\bin; C:\Program Files\Git; C:\Pr ogram Files\Oracle\VirtualBox

C:\Users\Vadim > rem добавить докер-машину в PATH

C:\Users\Vadim > установить PATH = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Program Files\Git\bin; C:\Program Files\Git\usr\bin; C:\Program Files\Git; C:\Pr ogram Files\Oracle\VirtualBox; C:\Program Files\Docker Toolbox

C:\Users\Vadim > задать путь Path = C:\Windows\system32; C:\Windows; C:\Windows\System32\Wbem; C:\Program Files\Gi t\bin; C:\Program Files\Git\usr\bin; C:\Program Files\Git; C:\Program Files\Oracle \ VirtualBox; C:\Program Files\Docker Toolbox PATHEXT =.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.wsf;.wsh;.msc

C:\Users\Vadim > docker-machine create -d virtualbox test Выполнение предварительных проверок... Создание машины... (тест) Копирование C:\Users\Vadim.docker\machine\cache\boot2docker.iso в C:\Users \ Vadim.docker\машины\машины\Test\boot2docker.iso... (test) Создание виртуальной виртуальной машины VM... (test) Создание ключа SSH... (тест) Запуск виртуальной машины... (тест) Проверьте сеть, чтобы воссоздать при необходимости... (тест) В Windows может потребоваться разрешение на создание сетевого адаптера. Sometim es, такое окно подтверждения минимизируется на панели задач. (test) Нашел новый адаптер для хоста: "VirtualBox Host-Only Ethernet Adapter # 2"

(тест) В Windows может потребоваться разрешение на настройку сетевого адаптера. Некоторые раз такое окно подтверждения минимизируется на панели задач. (тест) Windows может запросить разрешение на настройку сервера dhcp. Когда-то s, такое окно подтверждения минимизируется на панели задач. (тест) Ожидание IP... Ожидая, что машина будет работать, это может занять несколько минут... Обнаружение операционной системы созданного экземпляра... Ожидание доступа к SSH... Обнаружение устройства... Предоставление boot2docker... Копирование сертификатов в каталог локального компьютера... Копирование сертификатов на удаленный компьютер... Ошибка при создании машины: ошибка при выполнении инициализации: не удалось найти соответствующий IP f или MAC-адрес 080027d6b14d

Я все еще получаю эту ошибку об IP и MAC.


Дальнейшее исследование. Как было предложено VonC, я повторил это с докер-машиной 0.6.0. И я получил другую ошибку: введите описание изображения здесь

Поскольку он, очевидно, пытается работать с eth1-интерфейсом на виртуальной машине, я проверил, что происходит (все это время я мог видеть, что vms создан и работает в интерфейсе виртуальных ящиков). Это то, что я вижу в гостевой виртуальной машине: введите описание изображения здесь

Как вы видите, интерфейс eth1 не имеет указанного ip4-адреса. Может ли это быть причиной проблемы и как ее исправить?

Ответ 1

Откройте виртуальное окно, удалите docker vm. Снова начните быстрый запуск. У меня тоже проблема с окнами.

Ответ 2

У меня была такая же проблема. Я решил это:

1) Удалите "VirtualBox Host-Only Ethernet Adapter" с помощью VirtualBox Manager gui. (Предпочтения- > Сеть- > Сети только для хостов) На самом деле их было 2; Я удалил оба.

2) Удалите виртуальную машину по умолчанию (опять же, используя GUI VirtualBox Manager)

3) запустите start.sh script

Дальнейшие примечания: Я использую Windows 7 и cygwin64. У start.sh script есть проблемы с поиском пути к vboxmanage. При решении этих ошибок я запускал start.sh script несколько раз, что, вероятно, объясняет странное состояние, в котором оказался VBox.

Ответ 3

Это сообщение об ошибке появляется из динамически определять хост-интерфейс, перестать принимать eth1 PR 3112 исправление issue 3108

Я бы постарался:

  • полностью удалить VirtualBox,
  • удалить любой файл vbox * в C:\Windows\system32\drivers\,
  • удалить любые папки vbox в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services
  • переустановит virtualbox 5.0.18 и его расширение VM VirtualBox Oracle.
  • используйте только CMD (нет bash, чтобы избежать побочного эффекта)

Установите PATH с помощью senv.bat script, который будет включать (измените путь к вашей настройке):

rem minimal path:
set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem

rem add Git to PATH
set glatest=PortableGit-2.8.1-64-bit
set PATH=%PATH%;C:\Personal_Unsaved\prgs\git\%glatest%\bin;C:\Personal_Unsaved\prgs\git\%glatest%\usr\bin;C:\Personal_Unsaved\prgs\git\%glatest%
set TERM=msys
set GIT_HOME=C:\Personal_Unsaved\prgs\git\%glatest%

rem add VirtualBox to PATH
set "PATH=%PATH%;C:\Personal_Unsaved\prgs\vbox\latest"

rem add docker-machine to PATH
set PATH=%PATH%;C:\Personal_Unsaved\prgs\dm\latest

Затем, в этой новой среде, с последней докер-машиной 0.7.0, создайте новую машину:

docker-machine create -d virtualbox test
docker-mahcine ssh test

(используйте ssh из докер-машины, а не ssh из git bash)

Кевин Гук упоминает ниже в комментариях (июль 2016 года):

У меня была такая же ошибка в 1.11.2 в Windows 7 после загрузки и установки последней панели инструментов. Ошибка только после обновления Toolbox.

Даже после удаления виртуальной машины по умолчанию в VirtualBox будет получена такая же ошибка при ее воссоздании.

Я заметил в билете, упомянутом в ответе выше на GitHub, что он упоминает VirtualBox 5.0.14, поэтому я только что обновил до 5.0.24. Запустил приглашение Quickstart, он воссоздал значение по умолчанию vm и теперь не проблема.

Ответ 4

Если при перезапуске назначается другой IP (из предыдущего запуска), док-машина показывает проблемы с подключением к виртуальной машине.
Один из подходов, который работал у меня, - это перезапустить его таким образом, чтобы при перезагрузке он получал тот же IP-адрес.
Например. если 192.168.99.102 (третий в секундах 100, 101, 102) был назначен при создании, затем запустите все две другие виртуальные машины перед этой докерной машиной, так что этот получает 102.

Я поддерживаю команды, которые были удобны в запуске докеров в мои начальные дни для справки:
Удобные команды на докер-машине, докере и докере-компоновке для стартеров.

Ответ 5

Однажды я проснулся, и Докер не работал с упомянутым "Не удалось найти соответствующий IP для MAC-адреса..."

Что мне помогло:

  • uninstal Docker Toolbox
  • удалить VirtualBox
  • удалить папку C:\Users\имя_пользователя \.docker
  • удалить папку C:\Users\имя_пользователя \.VirtualBox
  • снова установите Docker Toolbox

Ответ 6

Это работало для меня на Windows:

Я выполнил эту команду -

docker-machine rm default

Затем я перезапустил терминал Docker-Machine, и он автоматически назначил IP.

Ответ 7

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

все вышеупомянутое решение не работает для меня, я удалил машину по умолчанию из виртуальной машины и воссоздал ее

docker-machine rm default
docker-machine create --driver virtualbox default

Затем я удалил сетевые адаптеры, как описано выше Аароном Кнауфом.

Наконец, я удалил Docker и VirtualBox, а также удалил файлы конфигурации .docker и .VirtualBox в папке пользователя.

Затем, после переустановки Docker Toolbox и VirtualBox, затем Docker работал хорошо

Даже если переустановка не является хорошей практикой, это решило мою проблему.

Ответ 8

То же, что некоторые из вас сделали выше, но с некоторыми изменениями

  1. Удалите "VirtualBox Host-Only Ethernet Adapter", используя графический интерфейс VirtualBox Manager. (Preferences-> Сеть-> Хост-сети) На самом деле их было 2; Я удалил оба.
  2. Удалите виртуальную машину по умолчанию (опять же, используя графический интерфейс VirtualBox Manager)
  3. Запустите "Docker QuickStart Terminal" в режиме администратора
  4. Когда терминал запускается, создайте новый "Ethernet-адаптер VirtualBox Host-Only" в графическом интерфейсе VirtualBox Manager и предоставьте статический IP-адрес в качестве вашего предыдущего механизма Docker, и включите на нем DHCP.

Это сработало для меня один раз. Надеюсь, это будет работать снова и снова :)

Ответ 9

У меня была похожая проблема, я просто заставил ее работать, убив процесс виртуальной машины в диспетчере задач и перезапустив Docker Quickstart Terminal.

Я надеюсь, что это может кому-нибудь когда-нибудь помочь.

Ответ 10

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

  1. Загрузите и установите последнюю версию docker-toolbox с github (в настоящее время v18.09.3)
  2. Загрузите и установите последнюю версию virtualbox (в настоящее время 6.0.4-128413)
  3. Запустите docker-toolbox с помощью ярлыка
  4. Получить сообщение об ошибке "Не удалось найти соответствующий IP-адрес для MAC-адреса..." (компьютер запущен нормально, вы можете войти в систему из графического интерфейса Virtualbox, и он работает нормально. Но Windows не видит его из-за сетевых настроек)
  5. Не останавливайте виртуальную машину
  6. Создайте файл dmvbf.bat с этим содержимым
    @echo off
    setlocal enabledelayedexpansion
    set machine=%1
    if "%machine%" == "" (
        echo dmvbf expects a machine name
        exit /b 1
    )
    set ipx=%2
    if "%ipx%" == "" (
        echo dmvbf x missing ^(for 192.168.x.y^)
        exit /b 2
    )
    set ipy=%3
    if "%ipy%" == "" (
        echo dmvbf y missing ^(for 192.168.x.y^)
        exit /b 3
    )

    echo kill $(more /var/run/udhcpc.eth1.pid) | docker-machine ssh %machine% sudo tee /var/lib/boot2docker/bootsync.sh >NUL
    echo ifconfig eth1 192.168.%ipx%.%ipy% netmask 255.255.255.0 broadcast 192.168.%ipx%.255 up | docker-machine ssh %machine% sudo tee -a /var/lib/boot2docker/bootsync.sh >NUL
    echo route add default gw 192.168.99.22 | docker-machine ssh %machine% sudo tee -a /var/lib/boot2docker/bootsync.sh >NUL


    docker-machine ssh %machine% "sudo cat /var/run/udhcpc.eth1.pid | xargs sudo kill"

    docker-machine ssh %machine% "sudo ifconfig eth1 192.168.%ipx%.%ipy% netmask 255.255.255.0 broadcast 192.168.%ipx%.255 up"

(Благодаря ответу VonC)

  1. выполнить dmvbf.bat default 99 101 в Windows CMD. Это изменить IP-адрес внутри машины через SSH
  2. docker-machine restart default
  3. docker-machine regenerate-certs default. Поскольку мы изменили IP-адрес, ранее сгенерированный сертификат больше не действителен.
  4. eval $(docker-machine env default) в Windows CMD. Без этого шага я получал разные ошибки (статус выхода 255 и т.д.)
  5. запустите docker-toolbox еще раз, на этот раз вы правильно начали докер с IP 192.168.99.101
  6. выполнить docker run hello-world и наслаждайтесь.