How to fix “error in run: Failed to get machine ”b

2019-03-09 00:11发布

Running boot2docker with the start|info|stop|delete arguments result in an error message:

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

The init error was slightly different

snowch$ boot2docker init
error in run: Failed to initialize machine "boot2docker-vm": exit status 1

How can I fix this?

10条回答
疯言疯语
2楼-- · 2019-03-09 00:46

This works for me :

vboxmanage discardstate boot2docker-vm
boot2docker up
查看更多
beautiful°
3楼-- · 2019-03-09 00:48

the accepted solution did not work for me

I had to export the boot2docker env variables

export DOCKER_HOST=tcp://192.168.59.103:2376
export DOCKER_CERT_PATH=/Users/USERNAME/.boot2docker/certs/boot2docker-vm
export DOCKER_TLS_VERIFY=1
查看更多
Deceive 欺骗
4楼-- · 2019-03-09 00:50

Update: Boot2Docker is now legacy. See here for official deprecation notice: https://docs.docker.com/installation/mac/, and here for info on migrating a preexisting Boot2Docker vm to Docker Machine: https://docs.docker.com/machine/migrate-to-machine/.

I've yet to see whether this issue continues to exist or if an analogous solution to that below, running docker-machine with the appropriate flags in place of boot2docker, would help remedy it.


This worked for me and I kept all my images/containers. I followed Anthony A's response: https://stackoverflow.com/a/26592419/4377364.

Here are the exact steps:

$ 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"
}

Note: "State": "saved".

Identified the .vbox file:

"CfgFile": "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox"

Used this as input to start the VM:

$ VBoxManage startvm "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox"

Then to shut it down:

$ VBoxManage controlvm "/Users/pat/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox" acpipowerbutton

Verified it had actually shut down:

$ 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"
}

Note: "State": "poweroff".

Started the boot2docker VM:

$ boot2docker up

Waiting for VM and Docker daemon to start...
.................ooo
Started.
查看更多
来,给爷笑一个
5楼-- · 2019-03-09 00:51

Start with boot2docker -v info to see where the images and files should be.

{
    "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"
}

If you get errors running this command or the files mentioned in its output are missing I recommend you to re-install boot2docker as it is probably the quickest option to a state of normality.

If not, use the information returned to identify your Virtual Box image for boot2docker (Iso, CfgFile, BaseFolder and SerialFile) and use Virtual Box to start up the image and then shut it down completely.

If you get no issues with this operation then boot2docker -v info should give you the State of the boot2docker-vm (i.e. it should be poweroff at this point).

From here you should be able to succeed with the boot2docker up command (there is no boot2docker start) and boot2docker init should return Virtual machine boot2docker-vm already exists, if not then a re-install is probably in order anyway.

Also please check the usual suspects such as file permissions etc.

HTH

查看更多
Viruses.
6楼-- · 2019-03-09 00:57

One to watch out for, I had an old installation of virtual box from before i migrated over to a new machine. It had an old home folder in the preferences. This meant that when docker tries to init the vm, it tries to do so in ~/oldaccount

If you open up preferences in virtual box, you can change to your existing account.

查看更多
迷人小祖宗
7楼-- · 2019-03-09 00:58

In the end, I removed the boot2docker-vm virtual machine:

snowch$ rm -rfi ~/VirtualBox\ VMs/boot2docker-vm/

Original source of the answer: https://github.com/boot2docker/boot2docker/issues/436

Note: this method is probably the quickest but you will lose your existing boot2docker virtual machine. If you want to keep your existing boot2docker virtual machine, you could try Patrick Henning's answer

查看更多
登录 后发表回答