在arm64架构(苹果M1)上运行docker amd64镜像,无需重建



我最近买了一台带有M1芯片的新款MacBook Pro。我试图运行一些docker图像,但我收到了一些错误:

$ docker pull mariadb:5.5
5.5: Pulling from library/mariadb
no matching manifest for linux/arm64/v8 in the manifest list entries
$ docker run custom-mariadb-build-based-5.5:latest
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
runtime: failed to create new OS thread (have 2 already; errno=22)

我也有其他(非mariaDB(图像有同样的问题。使用--platform=linux/amd64运行它们并没有任何区别(除了删除警告之外(。

我知道这里已经有类似的问题了。他们已经找到了在新建筑上重建图像的答案。然而,这目前是不可能的,我还需要特定版本的mariaDB,它还不支持arm64。

我想我不是唯一一个遇到这个问题的人,我想知道其他人是如何解决这个问题的。我已经尝试过对colima或rancher使用一些虚拟化,但没有成功。

我建议您提供一个VPS服务来使用docker。直到苹果或docker解决这些问题。

运行此命令,它对我有效。

docker run--privileged--rm tonistiigi/binfmt--install amd64docker run-it--platform=linux/amd64--name fdb_non_root_test

最新更新