微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

docker run mysql 图像命令不起作用 [MacBook Pro M1]

如何解决docker run mysql 图像命令不起作用 [MacBook Pro M1]

我正在关注多容器应用教程的官方 docker labs 动手教程。 在 MacBook Pro M1 终端上运行以下命令

docker run -d `
    --network todo-app --network-alias MysqL `
    -v todo-MysqL-data:/var/lib/MysqL `
    -e MysqL_ROOT_PASSWORD=secret `
    -e MysqL_DATABASE=todos `
    MysqL:5.7

我收到以下错误

docker: 清单列表中没有与 linux/arm64/v8 匹配的清单 条目。

解决方法

如果其他人在遵循 Mac M1 机器上的指南时遇到此问题,最快的解决方法可能是添加标志:

--platform linux/amd64

喜欢

docker run -d \
    --platform linux/amd64 \
    --network todo-app --network-alias mysql \
    -v todo-mysql-data:/var/lib/mysql \
    -e MYSQL_ROOT_PASSWORD=secret \
    -e MYSQL_DATABASE=todos \
    mysql:5.7

归功于 https://github.com/docker/getting-started/issues/144

,

当您查看官方 mysql 图片时,您可以看到没有提及 linux/arm64/v8

对于 mysql docker docs 甚至声明:

并非所有映像都适用于 ARM64 架构。您可以添加 --platform linux/amd64 以在仿真下运行 Intel 映像。特别是 mysql 镜像不适用于 ARM64。您可以使用 mariadb 映像解决此问题。

因此您可以使用 mariadb 作为解决方法,直到他们像这样为 mysql 提供官方支持:

docker run -d \
  -v todo-mysql-data:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=secret \
  -e MYSQL_DATABASE=todos \
  mariadb:10.5

见:github.com/docker-library/mysql/issues/318

如果您确实需要 mysql 映像,您可以尝试在同一问题 here 中提到的解决方法。到目前为止,我无法对此进行测试,因为我没有 m1 macbook。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?