問題の概要
M1 Macでmysqlのコンテナを起動したところ、下記のエラーが発生しました。
$ docker-compose up -d
Pulling mysql (mysql:)...
latest: Pulling from library/mysql
ERROR: no matching manifest for linux/arm64/v8 in the manifest list entries
問題の対処
原因
2021/06/30現在、mysqlイメージはM1 Mac(ARM64)向けには利用できないようです。
Docker Desktop for Apple silicon
既知の問題
ARM64 アーキテクチャー向けのイメージがすべて利用可能となっているわけではありません。 Intel イメージの実行には、エミュレーションのもとで--platform linux/amd64をつけて実行することが必要です。 特に mysql イメージは ARM64 向けには利用できません。 これに対する当面の対処としては mariadb イメージを利用してください。
解決方法
docker-compose.yml
にplatform: linux/x86_64
を追記したところ、エラーは解消されました。
docker-compose.yml
version: '3.1'
services:
mysql:
image: mysql
platform: linux/x86_64 # ← 追加する
environment:
MYSQL_ROOT_PASSWORD: pass
# ...