【M1 Mac】Docker開発環境を整える(Ruby on Rails, MySQL, Elasticsearch)

目次

最近(本当は結構前です)会社から新PCが支給されたので改めて開発環境を構築する必要がありました。
すでにこの辺りに関する情報は多く出回っているのですが、個人的に備忘録として残していたものを記事に起こしておこうと思います。

DockerをM1に対応させる

Ruby on Rails、MySQL

開発にはDockerをしているのですが、
以前使用していたままの状態だとうまく起動しませんでした。
調べてみると、platformの指定が必要とのこと。

docker-compose.yml

指定せずに起動させようとすると、PC自体のCPUアーキテクチャが自動的に指定されます。
M1はarm64、旧PCはamd64と異なるCPUアーキテクチャためエラーが出て怒られてしまいます。
明示的にplatformで指定することで対応するイメージをビルドすることができるということですね。

Elasticsearch

Elasticsearchには公式で配布されているイメージを使用します。
以前に使っていたイメージのバージョンがarm64に対応していなかったため、最新のバージョンを使用します。
(現時点の最新バージョンは8.0.1です)

どちらのアーキテクチャに対応しているかはこちらから確認できます。
https://hub.docker.com/_/elasticsearch?tab=tags

これで開発環境のセットアップは完了です。
以下最終的なdocker-compose.ymlの内容です。

まとめ

今回は環境構築に時間がかかってしまって勉強不足を痛感しました。。
サクサク開発できて新PCの支給に非常に感謝します!
また新たに開発をする場合でも、platformや使用するイメージのバージョンに気をつければ基本的には問題なさそうです!
次は一から開発環境構築に改めて挑戦してみたいと思います!
それでは、ハッピーコーディング!