Skip to main content
 首页 » 编程设计

boot2docker之OSX boot2docker 卡在 "Waiting for VM and Docker daemon to start …"

2025年01月19日21webabcd

我已经安装 boot2dockerOSX 10.8.5似乎安装进行得很顺利,但是当我尝试启动时 boot2docker我得到以下信息,它无限期地挂起:

$ /usr/local/bin/boot2docker up  
Waiting for VM and Docker daemon to start... 
..........................................................................oooooooooooooooooooooooooooooo 

我应该采取什么步骤来调试这个?我无法找到有关此特定问题的任何信息。
$ boot2docker version 
Boot2Docker-cli version: v1.4.1 
Git commit: 43241cb 
 
$ docker version 
Client version: 1.4.1 
Client API version: 1.16 
Go version (client): go1.3.3 
Git commit (client): 5bc2ff8 
OS/Arch (client): darwin/amd64 
 
$ boot2docker -v up 
Boot2Docker-cli version: v1.4.1 
Git commit: 43241cb 
2014/12/23 00:19:25 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
2014/12/23 00:19:25 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
2014/12/23 00:19:25 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
Waiting for VM and Docker daemon to start... 
.Connecting to tcp://localhost:2022 (attempt #0).Connecting to tcp://localhost:2022 (attempt #0).Connecting to tcp://localhost:2022 (attempt #0).Connecting to tcp://localhost:2022 (attempt #0).Connecting to tcp://localhost:2022 (attempt #0).^C 

在我的 ~/.bash_profile文件:
export DOCKER_HOST=tcp://192.168.59.103:2376 
export DOCKER_CERT_PATH=/Users/Me/.boot2docker/certs/boot2docker-vm 
export DOCKER_TLS_VERIFY=1 

当我打开 VirtualBox ,这是我看到的:



我试过 powering offremoving boot2docker-vm使用 Virtual Box GUI,当我运行 boot2docker 时,我得到以下信息再次:
$ /usr/local/bin/boot2docker init  
error in run: Failed to initialize machine "boot2docker-vm": exit status 2 

进而:
$ /usr/local/bin/boot2docker up  
Waiting for VM and Docker daemon to start... 
...............................................................….. 

无休止地挂起。

另外
$ docker ps 
FATA[0000] Couldn't read ca cert /Users/Me/.boot2docker/certs/boot2docker-vm/ca.pem: open /Users/Me/.boot2docker/certs/boot2docker-vm/ca.pem: no such file or directory 

和:
$ sudo docker ps 
FATA[0000] Get http:///var/run/docker.sock/v1.16/containers/json: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS? 

按照下面 Sven 的建议删除了 boot2docker-vm再次运行 init在详细模式下:
    $ boot2docker -v init 
Boot2Docker-cli version: v1.4.1 
Git commit: 43241cb 
2014/12/23 01:53:02 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
2014/12/23 01:53:02 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
2014/12/23 01:53:03 executing: VBoxManage list vms 
2014/12/23 01:53:03 executing: VBoxManage createvm --name boot2docker-vm --register 
Virtual machine 'boot2docker-vm' is created and registered. 
UUID: eca00a0a-6d68-45f3-acd1-ccc4dd1bcec9 
Settings file: '/Users/Me/VirtualBox VMs/boot2docker-vm/boot2docker-vm.vbox' 
2014/12/23 01:53:03 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
2014/12/23 01:53:03 executing: VBoxManage setextradata boot2docker-vm VBoxInternal/CPUM/EnableHVP 1 
2014/12/23 01:53:03 executing: VBoxManage modifyvm boot2docker-vm --firmware bios --bioslogofadein off --bioslogofadeout off --bioslogodisplaytime 0 --biosbootmenu disabled --natdnshostresolver1 off --natdnsproxy1 off --ostype Linux26_64 --cpus 8 --memory 2048 --vram 8 --acpi on --ioapic on --rtcuseutc on --cpuhotplug off --pae on --longmode on --synthcpu off --hpet on --hwvirtex on --triplefaultreset off --nestedpaging on --largepages on --vtxvpid on --vtxux off --accelerate3d off --uart1 0x3F8 4 --uartmode1 server /Users/AJB/.boot2docker/boot2docker-vm.sock --boot1 dvd 
2014/12/23 01:53:03 executing: VBoxManage showvminfo boot2docker-vm --machinereadable 
2014/12/23 01:53:03 executing: VBoxManage modifyvm boot2docker-vm --nic1 nat --nictype1 virtio --cableconnected1 on 
2014/12/23 01:53:03 executing: VBoxManage controlvm boot2docker-vm natpf1 ssh,tcp,127.0.0.1,2022,,22 
2014/12/23 01:53:03 executing: VBoxManage list hostonlyifs 
2014/12/23 01:53:03 executing: VBoxManage list dhcpservers 
2014/12/23 01:53:03 executing: VBoxManage hostonlyif create 
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100% 
2014/12/23 01:53:03 executing: VBoxManage hostonlyif ipconfig dyld: DYLD_ environment variables being ignored because main executable (/Applications/VirtualBox.app/Contents/MacOS/VBoxNetAdp --ip 192.168.59.3 --netmask 255.255.255.0 
VBoxManage: error: The host network interface with the given name could not be found 
VBoxManage: error: Details: code NS_ERROR_INVALID_ARG (0x80070057), component Host, interface IHost, callee nsISupports 
VBoxManage: error: Context: "FindHostNetworkInterfaceByName(name.raw(), hif.asOutParam())" at line 218 of file VBoxManageHostonly.cpp 
VBoxManage: error: Could not find interface 'dyld: DYLD_ environment variables being ignored because main executable (/Applications/VirtualBox.app/Contents/MacOS/VBoxNetAdp' 
error in run: Failed to initialize machine "boot2docker-vm": exit status 2 

在此先感谢您的帮助。

请您参考如下方法:

我在 OSX Yosemite 上遇到了同样的问题,必须执行以下操作:

1) 用 docker 清理东西

  • boot2docker delete - 警告:这将删除您所有的 docker 图像。
  • 在 Virtualbox 中,转到 VirtualBox(菜单)=>
    首选项 => 网络 => 仅主机网络
  • 删除仅主机网络,然后我重新添加它们
  • boot2docker init
  • boot2docker up

  • 2)非常重要,你可能会错过它处理环境变量,正如他们所说:
    To connect the Docker client to the Docker daemon, please set: 
        export DOCKER_HOST=tcp://192.168.59.103:2376 
        export DOCKER_CERT_PATH=/Users/andi/.boot2docker/certs/boot2docker-vm 
        export DOCKER_TLS_VERIFY=1 
    

    对您而言,第二个导出命令将因用户名而异 - 而不是 andi ,但还有别的。只需复制粘贴,然后按回车键应用此环境变量,然后运行例如 docker ps检查任一认为是否正常工作。