Closed2

M2 MacでDockerのMySQLイメージをPullできないとき

ピン留めされたアイテム
tttoltttol

結論:compose.ymlに以下を追記しましょう

platform: linux/amd64
tttoltttol

解説的なもの

  • M2 MacのCPUはarm64。使いたいMySQLイメージ(mysql:8.0-debian)はamd64。
  • CPUが異なるのでエラーになる
$ docker compose up -d
[+] Building 0.9s (2/2) FINISHED                                                                                                          docker:desktop-linux
 => [mysql-with-mecab internal] load build definition from Dockerfile                                                                                     0.0s
 => => transferring dockerfile: 558B                                                                                                                      0.0s
 => ERROR [mysql-with-mecab internal] load metadata for docker.io/library/mysql:8.0-debian                                                                0.9s
------
 > [mysql-with-mecab internal] load metadata for docker.io/library/mysql:8.0-debian:
------
failed to solve: mysql:8.0-debian: no match for platform in manifest: not found
  • 「arm64マシン上でamd64のイメージを動かすよ」という印としてplatform: linux/amd64が必要
  • docker runコマンドの場合は--platform linux/x86_64オプションでOK

参考

https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0167

このスクラップは3ヶ月前にクローズされました