Torihaji's Growth Diary

Little by little, no hurry.

Mac M2 でrails x mysql x docker 構築時に no matching manifest for linux/arm64/v8 と言われたら

はじめに

みなさんこんにちは。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/ARCHamd64ですよね。

そう言うことです。

終わりに

今日は長ったらしくしません!

以上です!終わり!!