如何在 OS X 上运行 "docker-machine create"?

21

我开始使用Docker并正在按照教程操作,但据我所知,在OS X上无法运行docker-machine命令。

文档指出,要创建本地虚拟机,请运行以下命令:

docker-machine create --driver virtualbox manager

然而,在OS X(11.6)中,此命令无法使用,会出现以下错误:

Running pre-create checks...
Error with pre-create check: "VBoxManage not found. Make sure VirtualBox is installed and VBoxManage is in the path"

我尝试安装VirtualBox,但是另一页明确指出,你不能在本地机器上安装它:

不得安装版本低于4.3.30的VirtualBox(与Docker for Mac不兼容)。

注意:如果您的系统不满足这些要求,您可以安装Docker Toolbox,它使用Oracle VirtualBox而不是HyperKit。

所以我只安装了Docker for Mac而没有安装virtualbox。那么我漏了什么?示例页面说您可以在OS X上运行教程,所以我想知道如何继续......

您可以使用Docker for Mac、Docker for Windows或Docker for Linux跟随并运行此示例。

3个回答

26

今天我遇到了同样的问题,并通过在安装Docker for Mac之后安装VirtualBox来解决它(我使用brew install --cask virtualbox进行安装)。

我不记得之前需要进行额外的安装,但可能是因为我已经安装了其他工具(如Vagrant)而已经安装了VirtualBox。无论如何,在 Docker Machine 文档中有解释:

如果您正在使用Docker for Mac

Docker for Mac使用HyperKit,这是一个基于Hypervisor.framework构建的轻量级macOS虚拟化解决方案。

目前,没有针对HyperKit的docker-machine create驱动程序,因此您将使用virtualbox驱动程序来创建本地机器。(请参阅Oracle VirtualBox的Docker Machine驱动程序。)请注意,您可以在同一系统上运行HyperKit和Oracle VirtualBox。要了解更多信息,请参见Docker for Mac vs. Docker Toolbox。

  • 确保您已正确安装最新的VirtualBox(作为先前Toolbox安装或手动安装的一部分)。

1
我认为现在你需要使用"brew install --cask virtualbox"而不是"brew install cask virtualbox",因为有更新了。 - Gloria Chen
1
更新命令以反映更改@GloriaChen,谢谢。 - awolski

10

我曾经遇到同样的问题,出现在同一个位置 ;-) 对我来说,从https://github.com/zchee/docker-machine-driver-xhyve获取的xhyve驱动程序可行。 简而言之:

brew install docker-machine-driver-xhyve

你收到通知需要手动创建一些链接,所以复制它们并执行。

sudo chown root:wheel /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve
sudo chown root:wheel /usr/local/opt/docker-machine-driver-xhyve/bin/docker-machine-driver-xhyve

创建:

docker-machine create --driver xhyve manager

没有使用VirtualBox。我也在使用OS X 10.11.6。


0

在更新了我的 Docker 后,docker-machine 命令在我的 Mac 终端上停止工作。

因此,我发现在更新 Docker 后,我必须重新安装 docker-machine CLI 才能获得最新版本。 使用下面的命令将 Docker-Machine 更新到最新版本有助于让 docker-machine 命令再次正常工作。

base=https://github.com/docker/machine/releases/download/v0.16.0 &&
curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker- 
machine &&
chmod +x /usr/local/bin/docker-machine

请查看文档 (https://docs.docker.com/machine/install-machine/#install-machine-directly)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接