无法在OS X版本10.9.5上安装docker

无法在OS X版本10.9.5上安装docker,docker,virtualbox,boot2docker,Docker,Virtualbox,Boot2docker,我首先尝试通过从下载“VirtualBox 5.0 for OS X hosts(amd64)”来安装VirtualBox,然后通过brew安装boot2docker和docker 创建boot2docker vm映像时出现了第一个明显的问题: $ boot2docker init 2015/07/27 21:38:13 Creating VM boot2docker-vm... 2015/07/27 21:38:13 Apply interim patch to VM boot2docker

我首先尝试通过从下载“VirtualBox 5.0 for OS X hosts(amd64)”来安装VirtualBox,然后通过brew安装boot2docker和docker

创建boot2docker vm映像时出现了第一个明显的问题:

$ boot2docker init

2015/07/27 21:38:13 Creating VM boot2docker-vm...
2015/07/27 21:38:13 Apply interim patch to VM boot2docker-vm (https://www.virtualbox.org/ticket/12748)
2015/07/27 21:38:13 Failed to modify VM "boot2docker-vm": exit status 1
启动VirtualBox manager应用程序时,我可以看到boot2docker vm计算机“正在运行”,但查看日志时,我看到类似这样的情况,这似乎表明boot2docker vm“计算机”无法启动:

00:00:04.169546 Guest Log: BIOS: Boot : bseqnr=1, bootseq=4231
00:00:04.169711 Guest Log: BIOS: Boot from Floppy 0 failed
00:00:04.170101 Guest Log: BIOS: Boot : bseqnr=2, bootseq=0423
00:00:04.170490 Guest Log: BIOS: CDROM boot failure code : 0002
00:00:04.170800 Guest Log: BIOS: Boot from CD-ROM failed
00:00:04.171190 Guest Log: BIOS: Boot : bseqnr=3, bootseq=0042
00:00:04.171795 Guest Log: int13_harddisk: function 02, unmapped device for ELDL=80
00:00:04.172304 Guest Log: BIOS: Boot from Hard Disk 0 failed
00:00:04.172706 Guest Log: BIOS: Boot : bseqnr=4, bootseq=0004
00:00:04.172991 Guest Log: BIOS: Booting from LAN...
00:00:04.191271 Display::handleDisplayResize(): uScreenId = 0, pvVRAM=0000000000000000 w=720 h=400 bpp=0 cbLine=0x0, flags=0x1
00:00:06.446949 Guest Log: BIOS: Boot from LAN failed
00:00:06.448852 Guest Log: Could not read from the boot medium! System halted.
我卸载了所有内容,然后尝试从下载和安装,它可以一次性安装VirtualBox、boot2docker和docker。但我仍然看到上面指出的相同问题(boot2docker vm机器无法启动)

我不愿意在我的笔记本电脑上对OSX版本做大的改动,因为我的硬件太旧了。但我会在一台更现代化的机器上尝试安装顺序,看看它是否能在那里工作

有人能让docker在OSX版本10.9.5上工作吗

编辑(添加评论建议可能相关的附加信息):

我的机器有:

  • 2.26GHz Intel Core 2 Duo
  • 4Gb内存(1067 MHz DDR3)
  • NVIDIA GeForce 9400M 256 MB
  • OSX10.9.5
我以主用户(不是root用户)的身份在系统上安装了所有内容

我安装的所有设备的版本如下:

  • VirtualBox 4.3.30 r101610
  • boot2docker版本1.7.1
  • docker版本1.7.1
github上的这篇文章可能会有所帮助(最新版本的virtual box 4.3.x在所描述的问题中运行良好)。虽然我建议使用
docker机器
。以下是步骤():

然后您可以像往常一样使用docker命令。

中的一些注释为我指明了正确的方向

这是我用来让VirtualBox、boot2docker、docker和docker机器在我的环境中工作的一系列步骤(其中$USERNAME是我的主要OS X用户,安装了VirtualBox),省略了几个错误的步骤,并且省略了大多数输出:

$ rm -rf /Users/$USERNAME/VirtualBox\ VMs/

$ boot2docker delete
(ran VirtualBox Uninstall script from my desktop)
...

$ brew tap caskroom/cask
...

$ brew update
...

$ brew install brew-cask
...

$ brew cask install virtualbox
...

$ VBoxManage -v
5.0.0r101573

$ boot2docker -v
Boot2Docker-cli version: v1.7.1
Git commit: 8fdc6f5

$ VBoxManage list vms
(nothing)

$ boot2docker init -v
...

$ boot2docker up
...

$ eval "$(boot2docker shellinit)"
(writes .pem files)

$ brew install docker-machine
...

$ docker-machine -v
docker-machine version 0.3.1 (HEAD)

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM

$ docker-machine create --driver virtualbox dev
...

$ docker-machine ls
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM
dev             virtualbox   Running   tcp://192.168.99.100:2376

$ VBoxManage list vms
"boot2docker-vm" {99d5c5c1-e7cc-49bf-93c7-b0cbf626d62c}
"dev" {341fd11e-86f9-46ca-89e6-39ee78458a4b}

$ eval "$(docker-machine env dev)"

$ docker run -d -p 8000:80 nginx
...

$ curl $(docker-machine ip dev):8000
<!DOCTYPE html>
...
$rm-rf/Users/$USERNAME/VirtualBox\VMs/
$boot2docker删除
(从我的桌面运行VirtualBox卸载脚本)
...
$brew tap木桶/木桶
...
$brew更新
...
$brew安装brew桶
...
$brew cask安装virtualbox
...
$VBoxManage-v
5.0.0r101573
$boot2docker-v
Boot2Docker cli版本:v1.7.1
Git提交:8fdc6f5
$VBoxManage列表虚拟机
(没有)
$boot2docker init-v
...
$boot2docker up
...
$eval“$(boot2docker shellinit)”
(写入.pem文件)
$brew安装docker机器
...
$docker机器-v
docker机器版本0.3.1(头部)
$docker机器ls
名称活动驱动程序状态URL SWARM
$docker机器创建--驱动程序virtualbox开发
...
$docker机器ls
名称活动驱动程序状态URL SWARM
开发人员virtualbox正在运行tcp://192.168.99.100:2376
$VBoxManage列表虚拟机
“boot2docker vm”{99d5c5c1-e7cc-49bf-93c7-b0cbf626d62c}
“开发”{341fd11e-86f9-46ca-89e6-39ee78458a4b}
$eval“$(docker机器环境开发)”
$docker run-d-p 8000:80 nginx
...
$curl$(docker机器ip开发):8000
...

在这一点上,事情似乎运行得很好,我可以使用docker和docker机器的“标准”文档/说明,因此我原来的问题得到了解决。

看起来是权限问题,您是使用
sudo
还是使用
root
初始化boot2docker?您的CPU是什么?它支持虚拟化吗?我的一台旧笔记本电脑上也有类似的东西。相关问题非常有用。我能够使用一些建议并启动boot2docker并运行。我会先看看是否可以按照这条路径让系统的其余部分正常工作,然后按照您的建议尝试docker machine。谢谢
$ rm -rf /Users/$USERNAME/VirtualBox\ VMs/

$ boot2docker delete
(ran VirtualBox Uninstall script from my desktop)
...

$ brew tap caskroom/cask
...

$ brew update
...

$ brew install brew-cask
...

$ brew cask install virtualbox
...

$ VBoxManage -v
5.0.0r101573

$ boot2docker -v
Boot2Docker-cli version: v1.7.1
Git commit: 8fdc6f5

$ VBoxManage list vms
(nothing)

$ boot2docker init -v
...

$ boot2docker up
...

$ eval "$(boot2docker shellinit)"
(writes .pem files)

$ brew install docker-machine
...

$ docker-machine -v
docker-machine version 0.3.1 (HEAD)

$ docker-machine ls
NAME   ACTIVE   DRIVER   STATE   URL   SWARM

$ docker-machine create --driver virtualbox dev
...

$ docker-machine ls
NAME   ACTIVE   DRIVER       STATE     URL                         SWARM
dev             virtualbox   Running   tcp://192.168.99.100:2376

$ VBoxManage list vms
"boot2docker-vm" {99d5c5c1-e7cc-49bf-93c7-b0cbf626d62c}
"dev" {341fd11e-86f9-46ca-89e6-39ee78458a4b}

$ eval "$(docker-machine env dev)"

$ docker run -d -p 8000:80 nginx
...

$ curl $(docker-machine ip dev):8000
<!DOCTYPE html>
...