Как исправить ошибку в запуске: Не удалось получить машину "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
Как я могу это исправить?
Ответы
Ответ 1
В конце концов, я удалил виртуальную машину boot2docker-vm
:
snowch$ rm -rfi ~/VirtualBox\ VMs/boot2docker-vm/
Оригинальный источник ответа: https://github.com/boot2docker/boot2docker/issues/436
Примечание: этот метод, вероятно, самый быстрый, но вы потеряете существующую виртуальную машину boot2docker. Если вы хотите сохранить существующую виртуальную машину boot2docker, вы можете попробовать ответ Патрика Хеннинга
Ответ 2
Обновление: Boot2Docker теперь устарел. См. Здесь официальное уведомление об отказе: https://docs.docker.com/installation/mac/, а здесь для получения информации о переносе существующего Boot2Docker vm на Docker Machine: https://docs.docker.com/machine/migrate-to-machine/.
Мне еще предстоит выяснить, продолжает ли эта проблема существовать или если аналогичное решение ниже, запуск docker-machine
с соответствующими флагами вместо boot2docker
, поможет исправить ее.
Это сработало для меня, и я сохранил все свои изображения/контейнеры. Я последовал за Энтони. Ответ: fooobar.com/questions/156609/....
Вот точные шаги:
$ 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"
.
Запустил VM-загрузчик boot2docker:
$ boot2docker up
Waiting for VM and Docker daemon to start...
.................ooo
Started.
Ответ 3
Ошибка при запуске: Не удалось запустить машину "boot2docker-vm": статус выхода 1
//ПРЕДУПРЕЖДЕНИЕ: это приведет к удалению всех ваших изображений
Ответ 4
Начните с 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
, если нет, то переустановка, вероятно, в любом случае.
Также проверьте обычные подозреваемые, такие как права доступа к файлам и т.д.
НТН
Ответ 5
Это работает для меня:
vboxmanage discardstate boot2docker-vm
boot2docker up
Ответ 6
Остерегайтесь, у меня была старая установка виртуальной коробки до того, как я перешел на новую машину. В предпочтениях была старая домашняя папка. Это означало, что, когда докер пытается инициализировать vm, он пытается сделать это в ~/oldaccount
Если вы открываете настройки в виртуальном поле, вы можете перейти к существующей учетной записи.
Ответ 7
В соответствии с принятым ответом на этот вопрос вы полностью удалили boot2docker vm. Это сработает, но оно также оставит вас без вашего кеша докеров или сэкономленных объемов, сделанных с помощью
vboxmanage sharedfolder add "boot2docker-vm" ...
Это явно не идеально, особенно если вы используете много томов между вашей хост-системой и вашим vm, или если ваши сборки занимают много времени.
Для меня появляется error in run: Failed to get machine "boot2docker-vm": machine does not exist
при перезапуске системы. VirtualBox пытается быть умным и "сохраняет" vm, который является state boot2docker, похоже, не умеет изящно восстанавливаться. Чтобы исправить это, перейдите в VirtualBox и отключите vm. Затем вернитесь к boot2docker и запустите boot2docker up
. Теперь, когда vm был изящно выключен, boot2docker должен иметь возможность поднять его до конца.
Ответ 8
Сначала запустите приложение boot2docker. Это устанавливает некоторые переменные и создает каталог ~/.boot2docker. Как только это будет сделано, boot2docker вверх/вниз будет работать для вас.
Ответ 9
принятое решение не сработало для меня
Мне пришлось экспортировать переменные env boot2docker
export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/USERNAME/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
Ответ 10
У меня была такая же проблема на моем mac после перезагрузки. Перезапуск OS X заставил VirtualBox приостановить все виртуальные машины (включая boot2docker).
Открытие VirtualBox и запуск приостановленного экземпляра устраняют проблему, и я могу повторно использовать докер.