Whidy Writes

AMD黑苹果无法使用Docker的解决办法

发布于:

最近研究 Github Actions , 每次调试修改都直接在线操作,非常麻烦,于是寻找本地调试的方案,找到了 act ,然而他需要 Docker 支持,于是在安装Docker的过程中出现了一些问题,我查阅了许多资料,国内仅有一篇《AMD黑苹果Docker环境搭建》简单介绍了下,但是综合了一些其他资料,这个作者的办法似乎并不是当前最佳的方法,于是我结合多个文章和反复尝试,遇到的一些问题做个总结。

运行环境

黑苹果相关的说明可以看看我开源的黑苹果Opencore EFI仓库 ASUS-PRIME-X570-PRO-Hackintosh

AMD的Docker问题

之前在公司电脑(B460M-HDV + i7 10700)也是黑苹果,但是都挺正常。所以没想到自己的黑苹果电脑上居然会有安装 Docker 的问题,按照正常macOS下安装Docker的方法:Install Docker Desktop on Mac,我下载了 Intel 版本的 Docker Desktop 。运行时提示如图:

Docker Desktop运行报错

简单查了下才知道,Docker是没有办法直接在AMD(基于 Zen 微架构)的黑苹果下使用的,更早的CPU可能也不支持,这不是重点。总之,需要其他的办法来运行Docker。

解决方案

为什么说之前那篇文章或许不是最佳方案,原因是 Docker Machine 已经废弃了,于是我用另一个方案,成功解决问题。使用 minikube 并结合 virtualbox 驱动实现。

首先准备好,macOS几乎必备的 brew ,这里不多说,安装以下几个软件

brew install virtualbox

为什么单独拿出来,因为安装结束的时候,要输密码,并且重启电脑,安全起见一步步来。重启后接着:

brew install minikube docker

安装完成后,启动

minikube start --driver=virtualbox --keep-context

如果发生错误:提示可能没有启用AMD的虚拟化技术(AMD-V),需要在BIOS中启用,下面的内容需要试试看。

BIOS启用AMD-V虚拟化

不同的主板可能配置选项不同,但是据了解大部分都是才用关键词 svm 选项,我的主板关于该选项默认关闭,将其打开保存重启即可。

我一开始在BIOS找了半天AMD-V,没找打也是浪费了些时间,囧。。。参阅MSI X570 ACE 启用虚拟化(AMD-V)

如果一切正常,那么进而配置 Docker CLI 到你当前 shellminikube 容器

eval $(minikube docker-env)

那么现在就可以正常使用docker命令了。需要使用 Docker Compose ,也要安装

brew install docker-compose

至此,在AMD平台的黑苹果系统下安装使用Docker的问题就解决了~

参考资料:

avatar

Whidy

一名爱折腾的前端开发工程师,喜欢打篮球和分享 ฅʕ•̫͡•ʔฅ