【问题标题】:docker-machine unable to create a machine on macOS, VBoxManage returning E_ACCESSDENIED errordocker-machine 无法在 macOS 上创建机器,VBoxManage 返回 E_ACCESSDENIED 错误
【发布时间】:2021-12-08 21:28:34
【问题描述】:

我使用 HomeBrew 安装了 dockerdocker-machinevirtualbox

Docker 版本 20.10.11,构建 dea9396e18 docker-machine 版本 0.16.2,构建 bd45ab1 VBoxManage 版本 6.1.30r148432

当我尝试创建一台新机器时

docker-machine create -d virtualbox default

我收到以下错误:

运行预创建检查... 创建机器... (默认)复制 /Users/foobar/.docker/machine/cache/boot2docker.iso 到 /Users/foobar/.docker/machine/machines/default/boot2docker.iso... (默认)正在创建 VirtualBox VM... (默认)正在创建 SSH 密钥... (默认)启动虚拟机... (默认)如果需要,检查网络以重新创建... (默认)找到一个新的主机适配器:“vboxnet0” 创建机器时出错:机器创建期间驱动程序出错:在机器启动时设置仅主机网络时出错:/usr/local/bin/VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.99.1 --netmask 255.255.255.0 失败: VBoxManage:错误:代码 E_ACCESSDENIED (0x80070005) - 访问被拒绝(扩展信息不可用) VBoxManage:错误:上下文:“EnableStaticIPConfig(Bstr(pszIp).raw(), Bstr(pszNetmask).raw())”在文件 VBoxManageHostonly.cpp 的第 242 行

我尝试了很多东西

  • 重新安装我的所有软件包
  • sudo中运行上述命令
  • 按照here 的指示使用kextload 来“启用内核扩展”
  • 按照heredocker-machine ls 的建议检查过去是否存在任何孤立机器

无济于事。显然,该问题是由较新版本的 VirtualBox 中的 Host-Only 网络的 IP 限制引起的。 Some posts 建议手动编辑 VirtualBox 的 networks.conf 文件。但我在我的机器上找不到它,也不知道我应该在那里改变什么!

P.S.1.问了一个后续问题here on Reddit

【问题讨论】:

  • 不确定究竟是什么导致了这个问题,但尝试降级到 VirtualBox 6.1.26 可能会解决您的问题。
  • @AffésSalem 不要那样做,除非找到更规范的解决方案。我正在考虑是否/如何编辑 networks.conf 文件以扩展 IP 范围,如果能先找到它的位置!

标签: macos docker virtualbox docker-machine


【解决方案1】:

感谢 Reddit 上的this comment,我能够解决问题:

  1. 找到所有带有docker-machine ls的机器
  2. docker-machine rm -y <machineName>删除你不需要的
  3. 使用VBoxManage list hostonlyifs 查找所有“仅限主机的以太网适配器”
  4. 使用VBoxManage hostonlyif remove <networkName> 删除孤立的那些
  5. etc 目录中创建一个vbox 文件夹sudo mkdir
  6. vbox 文件夹中创建一个文件networks.conf,例如sudo touch
  7. 将下面的行放在那里
* 0.0.0.0/0 ::/0
  1. docker-machine create -d virtualbox <machineName>创建一台新机器
  2. 运行命令eval $(docker-machine env <machineName>) 来配置你的shell

P.S.1. 上述方案的一大缺点是每次用docker-machine start <machineName>启动docker机器时Waiting for an IP...会耗费大量时间

【讨论】:

  • 最后..谢谢!!
  • @fips 欢迎您。我花了 4 到 5 个晚上才弄清楚这一点。令人沮丧!
  • 您不需要删除整个机器(谢天谢地!)。步骤 3-7 后跟 docker-machine start 对我有用。
  • @BMitch 你可能会看到this page 知道我为什么讨厌 Docker Desktop。
  • 你救了我谢谢!!
猜你喜欢
  • 2017-01-18
  • 2014-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-11
相关资源
最近更新 更多