Как исправить ошибку "Ошибка запуска: не удалось получить компьютер"boot2docker-vm": компьютер не существует"?
Бег boot2docker
с start
|info
|stop
|delete
Аргументы приводят к сообщению об ошибке:
snowch$ boot2docker start
error in run: Failed to get machine "boot2docker-vm": machine does not exist
snowch$ boot2docker info
error in run: Failed to get machine "boot2docker-vm": machine does not exist
snowch$ boot2docker stop
error in run: Failed to get machine "boot2docker-vm": machine does not exist
snowch$ boot2docker delete
error in run: Failed to get machine "boot2docker-vm": machine does not exist
init
ошибка была немного другой
snowch$ boot2docker init
error in run: Failed to initialize machine "boot2docker-vm": exit status 1
Как я могу это исправить?
10 ответов
В итоге я удалил boot2docker-vm
виртуальная машина:
snowch$ rm -rfi ~/VirtualBox\ VMs/boot2docker-vm/
Оригинальный источник ответа: https://github.com/boot2docker/boot2docker/issues/436
Примечание: этот метод, вероятно, самый быстрый, но вы потеряете существующую виртуальную машину boot2docker. Если вы хотите сохранить существующую виртуальную машину boot2docker, вы можете попробовать ответ Патрика Хеннинга
Обновление: Boot2Docker теперь унаследован. Официальное уведомление об устаревании см. Здесь: https://docs.docker.com/installation/mac/, а здесь для получения информации о переносе существующего Boot2Docker vm на Docker Machine: https://docs.docker.com/machine/migrate-to-machine/.
Я еще не видел, продолжает ли эта проблема существовать или аналогичное решение, которое работает ниже, работает docker-machine
с соответствующими флагами вместо boot2docker
, поможет исправить это.
Это сработало для меня, и я сохранил все свои изображения / контейнеры. Я следовал за ответом Энтони А.: /questions/757098/kak-ispravit-oshibku-oshibka-zapuska-ne-udalos-poluchit-kompyuterboot2docker-vm-kompyuter-ne-suschestvuet/757108#757108.
Вот точные шаги:
$ boot2docker -v info
{
"Name": "boot2docker-vm",
"UUID": "470abff4-f4fe-4c24-90c5-32b3ef7bfbe2",
"Iso": "/Users/pat/.boot2docker/boot2docker.iso",
"State": "saved",
"CPUs": 4,
"Memory": 2048,
"VRAM": 8,
"CfgFile": "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox",
"BaseFolder": "/Users/pat/VirtualBox VMs/boot2docker-vm",
"OSType": "",
"Flag": 0,
"BootOrder": null,
"DockerPort": 0,
"SSHPort": 2022,
"SerialFile": "/Users/pat/.boot2docker/boot2docker-vm.sock"
}
Замечания: "State": "saved"
,
Определил файл.vbox:
"CfgFile": "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox"
Использовал это как ввод для запуска ВМ:
$ VBoxManage startvm "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox"
Затем, чтобы закрыть его:
$ VBoxManage controlvm "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox" acpipowerbutton
Подтверждено, что он фактически закрылся:
$ boot2docker -v info
{
"Name": "boot2docker-vm",
"UUID": "470abff4-f4fe-4c24-90c5-32b3ef7bfbe2",
"Iso": "/Users/pat/.boot2docker/boot2docker.iso",
"State": "poweroff",
"CPUs": 4,
"Memory": 2048,
"VRAM": 8,
"CfgFile": "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox",
"BaseFolder": "/Users/pat/VirtualBox VMs/boot2docker-vm",
"OSType": "",
"Flag": 0,
"BootOrder": null,
"DockerPort": 0,
"SSHPort": 2022,
"SerialFile": "/Users/pat/.boot2docker/boot2docker-vm.sock"
}
Замечания: "State": "poweroff"
,
Запустил boot2docker VM:
$ boot2docker up
Waiting for VM and Docker daemon to start...
.................ooo
Started.
- Ошибка:
ошибка во время выполнения: не удалось запустить компьютер "boot2docker-vm": состояние выхода 1
- Решение:
// ВНИМАНИЕ: это удалит все ваши изображения
rm -rfi ~ / VirtualBox \ VMs / boot2docker-vm /
boot2docker init
запуск boot2docker
докер ps -a
Начать с boot2docker -v info
чтобы увидеть, где изображения и файлы должны быть.
{
"Name": "boot2docker-vm",
"UUID": "dbd28698-2cab-43d2-8e37-f6c07bd15137",
"Iso": "/Users/ezrak/.boot2docker/boot2docker.iso",
"State": "running",
"CPUs": 8,
"Memory": 2048,
"VRAM": 8,
"CfgFile": "/Users/ezrak/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox",
"BaseFolder": "/Users/ezrak/VirtualBox VMs/boot2docker-vm",
"OSType": "",
"Flag": 0,
"BootOrder": null,
"DockerPort": 0,
"SSHPort": 2022,
"SerialFile": "/Users/ezrak/.boot2docker/boot2docker-vm.sock"
}
Если при выполнении этой команды возникают ошибки или отсутствуют упомянутые в ее выходных файлах, я рекомендую переустановить boot2docker, поскольку это, вероятно, самый быстрый вариант для достижения нормального состояния.
Если нет, используйте возвращенную информацию для идентификации вашего образа виртуальной коробки для boot2docker (Iso
, CfgFile
, BaseFolder
а также SerialFile
) и используйте Virtual Box для запуска образа, а затем полностью его выключите.
Если у вас нет проблем с этой операцией, то boot2docker -v info
должен дать вам State
из boot2docker-vm (т.е. это должно быть poweroff
с этой точки зрения).
Отсюда вы сможете добиться успеха с boot2docker up
команда (нет boot2docker start
) а также boot2docker init
должен вернуться Virtual machine boot2docker-vm already exists
Если нет, то переустановка, вероятно, в любом случае в порядке.
Также, пожалуйста, проверьте обычные подозреваемые, такие как права доступа к файлам и т. Д.
НТН
Это работает для меня:
vboxmanage discardstate boot2docker-vm
boot2docker up
Один, чтобы остерегаться, у меня была старая установка виртуальной коробки, прежде чем я перешел на новую машину. У него была старая домашняя папка в настройках. Это означало, что когда docker пытается запустить vm, он пытается сделать это в ~/oldaccount
Если вы откроете настройки в виртуальном окне, вы можете перейти к существующей учетной записи.
В настоящее время принятым ответом на этот вопрос является полное удаление boot2docker vm. Это будет работать, но это также оставит вас без вашего кеш-докера или сохраненных общих томов, сделанных через
vboxmanage sharedfolder add "boot2docker-vm" ...
Это, очевидно, не идеально, особенно если вы разделяете много томов между вашей хост-системой и вашим виртуальным компьютером или если ваши сборки занимают много времени.
Для меня error in run: Failed to get machine "boot2docker-vm": machine does not exist
появляется при перезагрузке системы. VirtualBox пытается быть умным и "сохраняет" виртуальную машину, состояние которой boot2docker, похоже, не в состоянии изящно восстановить. Чтобы это исправить, зайдите в VirtualBox и выключите виртуальную машину. Затем вернитесь в boot2docker и запустите boot2docker up
, Теперь, когда виртуальная машина была аккуратно выключена, boot2docker сможет нормально ее запустить.
Сначала запустите приложение boot2docker. Это устанавливает некоторые переменные и создает каталог ~/.boot2docker. Как только это будет сделано, boot2docker up/down будет работать для вас.
У меня была такая же проблема на моем Mac после перезапуска. Перезапуск OS X заставил VirtualBox приостановить работу всех виртуальных машин (включая boot2docker).
Открытие VirtualBox и запуск приостановленного экземпляра устранили проблему, и я мог повторно использовать Docker.
Принятое решение у меня не сработало
Я должен был экспортировать переменные boot2docker env
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/USERNAME/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1