M1 Macに買い替えたので手元の開発環境のためにmysqlコンテナを動かそうとしたら動かなかった。
エラーはこんな感じ。
runtime: failed to create new OS thread (have 2 already; errno=22)
goのエラーだったので、アーキテクチャの何かしらの問題で動いていないのだろうと推測。
とりあえずdocker hubを見て8.0.17より最新のバージョンを探してみると8.0.26の最新パッチバージョンまでリリースされているのを確認できた。
ちょうど2日前にリリースされたらしい。
MySQL8.0.26でM1の対応が入った?ぽいので多分これで動くのでは。 cf. https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-26.html
macOS: It is now possible to build MySQL for macOS 11 on ARM (that is, for Apple M1 systems). (Bug #32386050, Bug #102259)
--platoform指定して、イメージは8.0.26指定。
FROM --platform=linux/amd64 mysql:8.0.26
ADD ./conf.d/my.cnf /etc/mysql/conf.d/my.cnf
CMD ["mysqld"]
とりあえずこれで動いた。
関連書籍