在 m1 处理器中运行的 Docker 镜像

时间:2021-03-03 11:58:28

标签: mysql macos docker docker-compose apple-m1

我只能使用 docker preview 在我的 macbook air m1 中播放,我无法通过 docker-compose 文件运行 8.0.22 版本的 mysql 映像。

docker-compose set

我运行的命令是:output 2021 2 3 10 9 58

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:4)

M1 是 ARMv8 (aarch64) 架构,大部分镜像是 X86 (amd64)。整个基于 bitfmt 的仿真过程允许从其他架构运行容器对于 ARMv8 版本的 Docker for Mac 仍然不稳定,因此您需要等待一段时间。

解决这个问题的一种方法是为 ARM64 构建您自己的 mysql 映像,方法是从一些 linux 发行版开始,例如 alpinedebian、{{1}并安装 mysql 服务器(与您在裸机安装上所做的相同)。

您可以在 docker hub 中找到许多标记为 ARM64v8 的容器,因此这可以成为创建映像的良好起点。

答案 1 :(得分:2)

我还在 M1 Mac 上处理 X86 (amd64) 图像。但是在您的特定情况下,我建议您只使用 MariaDB(图像 mariadb)。到目前为止,我尝试的所有东西都与 MySQL 完全兼容,并且 MariaDB 可用于 ARM64。

答案 2 :(得分:1)

我们刚刚遇到了这个问题,我从 this answer 那里得到了解决方案。您可以在 docker-compose 文件中指定您的平台,因此在您的情况下,它看起来像:

services:
  mysql:
    image: mysql:8.0.22
    platform: linux/x86_64
    container_name: mysqldb
    restart: always
    ports:
      - 3306:3306
    volumes:
      - mysql:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=test
      - MYSQL_DATABASE=DATA

在我们公司,我们使用 M1 和 Intel Mac,此解决方案使 mysql 映像可用于两者。