【问题标题】:Cannot install docker on OS X Version 10.9.5无法在 OS X 版本 10.9.5 上安装 docker
【发布时间】:2015-07-28 04:56:25
【问题描述】:

我首先尝试通过从the VirtualBox download page 下载“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 管理器应用程序我可以看到 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.

我卸载了所有东西,然后尝试从boot2docker download page 下载和安装,它一次性安装了 VirtualBox、boot2docker 和 docker。但我仍然看到上面指出的相同问题(boot2docker-vm 机器无法启动)。

我不愿意对笔记本电脑上的 OS X 版本进行重大更改,因为我的硬件很旧。但我会在更现代的机器上尝试安装顺序,看看它是否可以在那里工作。

有没有人设法让 docker 在 OS X 版本 10.9.5 上工作?

编辑(添加 cmets 建议可能相关的其他信息):

我的机器有:

  • 2.26GHz 英特尔酷睿 2 双核
  • 4Gb RAM (1067 MHz DDR3)
  • NVIDIA GeForce 9400M 256 MB
  • OS X 10.9.5

我在我的系统上以主要用户(不是 root)的身份安装了所有东西。

我安装的所有东西的版本是:

  • VirtualBox 4.3.30 r101610
  • boot2docker 版本 1.7.1
  • docker 版本 1.7.1

【问题讨论】:

  • 看起来权限问题,你是用sudo还是root初始化boot2docker?
  • 你的 CPU 是什么?是否支持虚拟化?我在一台旧笔记本电脑上有类似的东西..

标签: docker virtualbox boot2docker


【解决方案1】:

github 上的 issue 可能会有所帮助(最新版本的虚拟盒 4.3.x 在所描述的问题中工作正常)。虽然我建议使用docker-machine。以下是步骤(Installation):

$ docker-machine create --driver virtualbox dev
$ eval "$(docker-machine env dev)"

然后你就可以像往常一样使用docker命令了。

【讨论】:

  • 链接的问题非常有帮助。我能够使用一些建议和this SO question 来启动并运行 boot2docker。我会看看我是否可以先按照这条路径让系统的其余部分正常工作 - 然后我会按照你的建议尝试 docker-machine。谢谢!
【解决方案2】:

the github issue suggested by nash_agthis stackoverflow question 中的一些 cmets 为我指明了正确的方向。

这是我用来让 VirtualBox、boot2docker、docker 和 docker-machine 在我的环境中工作的步骤序列(其中 $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>
...

在这一点上,事情似乎运行良好,我可以使用 docker 和 docker-machine 的“标准”文档/说明,所以我原来的问题已经解决了。

【讨论】:

    猜你喜欢
    • 2015-03-30
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多