Это известная проблема, появившаяся в версии 1.7.0 boot2docker: https://github.com/boot2docker/boot2docker/issues/824
Обновление до boot2docker 1.7.1
Обновление до boot2docker 1.7.1 устраняет эту проблему, как описано здесь.
Опции для boot2docker 1.7.0
Похоже, это связано с тем, как сетевые интерфейсы открываются во время загрузки. Чтобы исправить это, можно использовать следующие параметры.
Опция 1
Исправление заключается в выполнении следующей последовательности, в которой добавляется код для ожидания присутствия всех сетевых интерфейсов:
boot2docker ssh
sudo curl -o /var/lib/boot2docker/profile https://gist.githubusercontent.com/garthk/d5a17007c277aa5c76de/raw/3d09c77aae38b4f2809d504784965f5a16f2de4c/profile
sudo halt
boot2docker up
Источник (и дополнительные сведения о загруженном коде): https://gist.github.com/garthk/d5a17007c277aa5c76de
Это устранило проблему для меня, хотя мне пришлось остановить boot2docker-vm через пользовательский интерфейс VirtualBox, чтобы получить чистый старт.
Gist добавляет в файл .profile
на виртуальной машине boot2docker следующее:
wait4eth1() {
CNT=0
until ip a show eth1 | grep -q UP
do
[ $((CNT++)) -gt 60 ] && break || sleep 1
done
sleep 1
}
wait4eth1
Эта функция ожидает появления интерфейса eth1 в течение 1 минуты.
Вариант 2
Другой вариант вроде бы сделать
boot2docker delete
boot2docker init
boot2docker up
Это уничтожит виртуальную машину boot2docker - вы можете потерять все сделанные настройки.
person
nwinkler
schedule
22.06.2015