この記事ではこのブログでかなり詳しく解説した「絶対に失敗しないDockerでLaravel + Vue.jsの開発環境(LEMP環境)を構築する方法」シリーズのM1 Mac版です。
この記事では過去記事との変更点のみを記載します。
といってもM1 Macの場合に変更がで必要なのはDB(MySQL)用コンテナ関連のファイルだけです。
それ以外はIntel製チップのMacと同じ手順なので、下の3つの記事をベースにしていただき、MySQLコンテナの設定のところまできたらこの記事を見て適宜修正してください。
Intel製チップMac版



使用ツール・アプリケーションのバージョン
環境構築に使用するツール、アプリケーションのバージョンはこちらです。
ツール・アプリケーション | バージョン |
---|---|
Git | 2.23.1 |
Docker | 20.10.5 |
Docker Compose | 1.29.0 |
Composer | 2.0.13 |
Laravel | 6.20.25 |
npm | 6.14.6 |
Vue.js | 2.6.12 |
MySQL | 8.0 |
完成版のGitHubリポジトリ
このブログで解説する開発環境の完成版のコードは既にGitHubに上げています。
必要に応じて参照ください。
M1 Macでの変更点
修正するのはdocker/mysql/Dockerfile
だけです。
修正後
FROM --platform=linux/x86_64 mysql:8.0
ENV TZ=UTC
COPY ./docker/mysql/my.cnf /etc/my.cnf
変更点
FROM mysql:8.0 → FROM –platform=linux/x86_64 mysql:8.0
このような修正をする理由はこちらです。
- M1Macのプラットフォームはarm64
- MySQLのDockerイメージのサポートプラットフォームはamd64
- Dockerイメージをプルする際に実行環境のプラットフォームに合わせて自動的にamd64のイメージを取得するのでビルドするとエラーになる
以下の記事から参照させていただきました。

簡単にいうとまだMySQLのイメージはM1には対応してないってことですね。
補足
MySQLではなく、MariaDBを使う方法(MariaDBのイメージはM1対応している)もありますが、設定ファイル(docker/mysql/my.cnf
)の修正が必要なのでこの記事での説明は割愛します。
この記事にMariaDBのイメージを使う方法が載っています。
最後に
これでIntel製チップ、M1チップどちらのMacでもDocker+Laravel+Vue.jsの環境を構築する方法をまとめることができました。
Dockerを使うとリポジトリをクローンしてポチポチするだけで環境が構築できるので、環境構築が楽になります。
ぜひこの記事と完成版のリポジトリを参考にしてみてください。
コメント