我是按照官方的对接实验室的手交教程多容器应用教程。在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匹配的清单。
发布于 2021-05-25 12:37:36
如果其他人在具体按照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发布于 2021-04-25 16:34:55
当您查看官方的mysql图像时,您可以看到没有提到linux/arm64/v8。
在mysql的例子中,码头医生甚至说:
并不是所有的映像都可以用于ARM64体系结构。您可以添加-platform linux/ add 64来在仿真中运行Intel映像。特别是,mysql映像不能用于ARM64。您可以通过使用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映像,可以尝试相同问题这里中提到的解决方法。到目前为止,我无法测试这个,因为我没有m1 macbook。
发布于 2022-06-13 14:09:41
如果您正在为您的容器编排使用docker组合,您可以使用您的docker-compose.yaml文件镜像,类似于以下内容
services:
mysql:
platform: linux/amd64
#you can use whatever image you prefer
image: "mysql:5.7" https://stackoverflow.com/questions/67255600
复制相似问题