Ошибка Docker-machine Не удалось найти соответствующий IP-адрес для MAC-адреса в Windows 10

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

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

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

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

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

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

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

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

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

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

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

Спасибо!


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

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

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

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-бит

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 \ machine \ machines \ test \ boot2docker.iso ... (тест) Создание виртуальной машины VirtualBox ... (тест) Создание ключа SSH ... (тест) Запуск виртуальной машины ... (тест) Проверьте сеть, чтобы воссоздать ее при необходимости ... (тест) Windows может запросить разрешение на создание сетевого адаптера. Иногда такое окно подтверждения свернуто на панели задач. (тест) Обнаружен новый адаптер только для хоста: "VirtualBox Host-Only Ethernet Adapter # 2"

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

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


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

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

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


person Vadim    schedule 22.04.2016    source источник
comment
Активна ли у вас функция Microsoft Hyper-v?   -  person VonC    schedule 22.04.2016
comment
Нет, потому что у меня Windows 10 Домашняя. Но он работал раньше (работал на прошлой неделе). Я также могу сам создать виртуальные машины и запускать их. Есть ли у меня шанс?   -  person Vadim    schedule 22.04.2016
comment
@vadim Вы когда-нибудь находили решение этой проблемы?   -  person Lost    schedule 22.08.2017
comment
@TeaLeave, к сожалению, нет. Только что перешла на линукс.   -  person Vadim    schedule 23.08.2017
comment
продолжая сталкиваться с этой проблемой, с теми же проблемами, с которыми столкнулся @vadim, включая все попытки решения в Windows / virtualbox без какого-либо разрешения.   -  person dhartford    schedule 28.03.2018


Ответы (10)


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

person evtuhovdo    schedule 22.04.2016
comment
Я пробовал это много раз. С перезагрузкой или без, переустановка vitrualbox, переустановка докера, удаление адаптеров только для хоста. Во всевозможных комбинациях. Ничего не помогает :( - person Vadim; 22.04.2016
comment
это сработало для меня. У меня версия виртуального бокса 5.1.22r и версия докера 17.06.0-ce - person rhinmass; 28.07.2017

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

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

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

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

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

person Aaron Knauf    schedule 09.05.2016
comment
1. Сделано много раз. 2. Тоже делал много раз. 3. Какой start.sh? - person Vadim; 09.05.2016
comment
Сценарий start.sh, о котором я говорю, находится в C: \ Program Files \ Docker Toolbox. Это тот же сценарий, который выполняется ярлыком Docker Quickstart Terminal. Лично я запускаю его и все команды docker / machine с терминала cygwin, а не с помощью ярлыка. Если вы его прочитаете, вы увидите, что он выполняет несколько дополнительных шагов, чем просто создание dm, которое вы пытаетесь сделать - например, rm -rf ~/.docker/machine/machines/"${VM}" - person Aaron Knauf; 11.05.2016
comment
Я вижу из опубликованных вами выходных данных, что вы получаете следующее сообщение: Found a new host-only adapter: "VirtualBox Host-Only Ethernet Adapter #2". Включен ли для адаптера с таким именем DHCP в настройках Virtualbox? - person Aaron Knauf; 11.05.2016
comment
Да, было. Я также попытался удалить все адаптеры из виртуальной коробки и позволить докеру создать их. Это ничего не изменило. - person Vadim; 12.05.2016

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

Я бы попробовал:

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

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

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

Затем в этой новой среде с помощью последней версии docker-machine 0.7.0 создайте новый машина:

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

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

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

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

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

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

person VonC    schedule 22.04.2016
comment
Спасибо за Ваш ответ. Я отредактировал свой вопрос с результатами вашего предложения. Не работает. - person Vadim; 22.04.2016
comment
@Vadim Будет ли это работать с docker-machine 0.6.0? (github.com/docker/machine/releases/tag/v0.6.0) - person VonC; 22.04.2016
comment
C: \ Users \ Vadim ›docker-machine version docker-machine version 0.6.0, build e27fb87 C: \ Users \ Vadim› docker-machine create -d virtualbox test Запуск предварительных проверок ... Создание машины ... ( test) Копирование C: \ Users \ Vadim \ .docker \ machine \ cache \ boot2docker.iso в C: \ Users \ Vadim \ .docker \ machine \ machines \ test \ boot2docker.iso ... (test) Создание виртуальной машины VirtualBox. .. (тест) Создание ключа SSH ... (тест) Запуск виртуальной машины ... (тест) Проверить сеть для повторного создания, если необходимо ... (тест) Ожидание IP ... Ошибка создания машины: Ошибка в драйвер во время создания машины: превышено максимальное количество попыток (5) - person Vadim; 22.04.2016
comment
Но я вижу эту виртуальную машину в интерфейсе VirtualBox, могу показать, она работает! Этим просто докер-машина не управляет. - person Vadim; 22.04.2016
comment
@Vadim Можете ли вы проверить логи виртуальной машины? (в 1_) - person VonC; 22.04.2016
comment
@Vadim Похоже, github.com/docker/toolbox/issues/229 и github.com/docker/toolbox/issues/153 - person VonC; 22.04.2016
comment
@Vadim Вы установили пакет расширений Oracle VM VirtualBox? - person VonC; 22.04.2016
comment
Позвольте нам продолжить это обсуждение в чате. - person Vadim; 22.04.2016
comment
Я действительно впервые забыл Extension Pack. Но после этого я повторил все шаги (с переустановкой VBox, очисткой драйверов и реестра и т. Д.) С Extension Pack и получил те же результаты. Ошибка в драйвере с 0.6.0 и не удалось найти соответствующий IP-адрес для MAC с 0.7.0. Но в обоих случаях ВМ действительно создана! Я вижу это в интерфейсе VirtualBox, могу открыть, и он работает! - person Vadim; 23.04.2016
comment
@Vadim Странно, сегодня днем ​​я сделал ту же настройку без каких-либо проблем. Есть ли у вас какой-либо брандмауэр / антивирус (даже Защитник Windows), который может ограничивать порты и доступ к докер-машине? - person VonC; 23.04.2016
comment
Все AV, Защитник и Брандмауэр отключены. Возможно, это как-то связано с версией Windows, так как эта проблема появилась после обновления Windows 10. У меня версия - Microsoft Windows [Версия 10.0.10586]. Что твое? Я также добавил некоторые новые данные, чтобы задать вопрос. Не могли бы вы проверить? Может проблема с гостевым интерфейсом eth1? - person Vadim; 23.04.2016
comment
@Vadim no ipv4 ... выглядит как github.com/docker/docker/issues / 21175 # issuecomment-196390721 Можете ли вы дважды проверить журналы докеров? Попробуйте отключить ipv6 для тестирования (github.com/docker/libnetwork/issues/892 ) - person VonC; 23.04.2016
comment
@Vadim также представляет интерес: github.com/docker/docker/issues/18113# issuecomment-208498623 и github.com/docker/libnetwork/issues/779 (для docker0, а не для eth1, но все же стоит проверить) - person VonC; 23.04.2016
comment
Честно говоря, я не совсем согласен с компьютерными сетями, чтобы разбираться в этом самостоятельно. Что значит отключено производителем? Какой производитель? Windows? VirtualBox? Докер? Как это включить? - person Vadim; 24.04.2016
comment
У меня была такая же ошибка в 1.11.2 в Windows 7 после загрузки и установки последней версии Toolbox. Ошибка началась только после обновления Toolbox. Даже после удаления виртуальной машины по умолчанию в VirtualBox будет возникать та же ошибка при ее воссоздании. В заявке, упомянутой в ответе выше на GitHub, я заметил, что в нем упоминается VirtualBox 5.0.14, поэтому я только что обновился до 5.0.24. Запустил приглашение Quickstart, он воссоздал виртуальную машину по умолчанию, и теперь никаких проблем. - person Kevin Hooke; 16.07.2016
comment
@KevinHooke Спасибо. Я включил ваш комментарий в ответ для большей наглядности. - person VonC; 16.07.2016
comment
Спасибо, но у меня это не работает :( Для меня это началось после обновления Windows 10, а не докера. Vitrual box в то время был 5.0.18. Я постоянно обновляю его и пробую свой докер, и он все еще умирает с тем же Ошибка.Теперь у меня стоит VitrualBox версии 5.0.24 r108355. Все та же проблема :( - person Vadim; 16.07.2016
comment
@Vad А с VirtualBox 5.1? - person VonC; 16.07.2016

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

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

docker-machine rm default

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

person ryudidoo    schedule 04.04.2018

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

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

person Sunil G.    schedule 28.09.2016

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

Что мне помогло, так это:

  • удалить Docker Toolbox
  • удалить VirtualBox
  • удалить папку C: \ Users \ user_name \ .docker
  • удалить папку C: \ Users \ user_name \ .VirtualBox
  • снова установить Docker Toolbox
person michal2616    schedule 11.04.2017

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

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

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

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

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

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

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

person Doston    schedule 16.05.2018

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

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

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

person Sownak Roy    schedule 15.02.2019

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

  1. Загрузите и установите последнюю версию docker-toolbox с github (в настоящее время v18.09.3)
  2. Загрузите и установите последнюю версию виртуального бокса (в настоящее время 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 и наслаждайся.
person Сергей Федоров    schedule 18.04.2019
comment
При запуске dmvbf.bat default 99 101 получаю Error: Cannot run SSH command: Host "default" is not running. Перед установкой DockerToolbox-19.03.1 я запустил два сценария: setx DOCKER_TAG '$DOCKER_TAG' и setx HOST $(hostname). Не могли бы вы посоветовать, пожалуйста? Работает на Windows 8.1. - person El Anonimo; 23.10.2020
comment
Похоже, у вас нет машин или у него другое название. Попробуйте проверить список машин docker-machine ls Если он пуст, попробуйте создать новый docker-machine create default - person Сергей Федоров; 28.10.2020

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

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

person ziMtyth    schedule 24.04.2018