はじめに
みなさんこんにちは。torihaziです。
今回は Mac M2 でrails x mysql を docker で構築しようとしたら タイトルのエラーが出たので
その解決法になります。
秒で終わります。
ltg
結論
docker-compose.yml に下記を追加
db:
platform: linux/amd64 <- この行
image: mysql:5.7
volumes:
- db-volume:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
原因
Mac M1 のアーキテクチャがarm64 (uname -m で見れます) に対し、
Docker hubが提供している mysql5.7系のアーキテクチャが
amd64と一致していないから。
platformオプションを選択しないと、
ホストマシンのアーキテクチャと同様のものを探しに行く。
しかし、今回の場合は arm64が無いので怒られたと言うわけ。
試しに Docker hub で mysql:5.7系を検索してみてください。

みんな 2列目の OS/ARCHが amd64ですよね。
そう言うことです。
終わりに
今日は長ったらしくしません!
以上です!終わり!!