Подтвердить что ты не робот

Как исправить ошибку в запуске: Не удалось получить машину "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

Как я могу это исправить?

4b9b3361

Ответ 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

  • Решение:

//ПРЕДУПРЕЖДЕНИЕ: это приведет к удалению всех ваших изображений

  • rm -rfi ~/VirtualBox\VMs/boot2docker-vm/

  • boot2docker init

  • boot2docker start

  • docker ps -a

Ответ 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 и запуск приостановленного экземпляра устраняют проблему, и я могу повторно использовать докер.