Dockerを使ったLaravelの環境構築をやってみる【Mac / M1Mac対応】
Laravelの開発環境をDockerを使って簡単に作る方法について解説していきます。
初心者の方でもなるべくわかるように書きましたので、ぜひ一緒に環境構築をしていきましょう!
本記事の対象者
・Dockerのインストールから丁寧に知りたい方
・M1Mac/MacでのLaravelの環境構築がわからない人
・環境構築を簡単にやりたい人
・テキストエディター(VSCodeなど)やターミナルが使える人
環境構築をする上で、今回はテキストエディターのインストール方法などは省略します。
ターミナルは基本的な操作がわかる方なら大丈夫です。
今回の全体の流れ
- Dockerをインストールする
- デスクトップにプロジェクトフォルダを作る
- ファイルを新規作成する
- ファイルにコードを書き込む
- Docker上でコンテナを立ち上げる
- Laravelをインストールする
- Laravelの基本設定
それでは早速、環境構築をやっていきましょう。
Dockerをインストールする
すでにDockerをインストールしている人は、ここはスキップしてもらって大丈夫です。
デスクトップにプロジェクトフォルダを作る
Dockerがインストールできたらプロジェクトフォルダをつくりましょう。この中にLaravelをインストールしていきます。
今回はわかりやすいように、デスクトップにプロジェクトフォルダを作っていきましょう。
ターミナルを開いてこのように入力してEnterを押します。
(一行ずつ入力してEnterを押してください)
cd Desktop //デスクトップに移動
mkdir laravel_project //ディレクトリ作成
cd laravel_project //ディレクトリに移動
ファイルを新規作成する
次にVSCodeなどのテキストエディターでデスクトップに作ったlaravel_projectを開きましょう。
今回は、VSCodeを使っていきます。
LARAVEL_PROJECTという部分をクリックして、ファイルを新規作成します。
「docker-compose.yml」と「Dockerfile」というファイルを作ります。
Dockerファイルの作成
FROM php:7.4-fpm
COPY --from=composer:1.10.12 /usr/bin/composer /usr/bin/composer
RUN apt-get update && apt-get install -y zip unzip
RUN docker-php-ext-install pdo pdo_mysql
Dockerfileにこのコードを書き込みます。
docker-composeファイルの作成
version: '3.9'
services:
php:
build: .
volumes:
- ./src:/var/www/html
ports:
- '8000:8000'
mysql:
platform: linux/x86_64 #M1Macはこれを追加しないと動かない
image: mysql:5.7
ports:
- '3306:3306'
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: laravel
docker-compose.ymlにこのコードを書き込みます。
実際にVSCodeに書くとこのようになります。
Docker上でコンテナを立ち上げる
Docker上でコンテナを立ち上げる方法は大まかに二つあります。
- Macに標準搭載されているターミナルで立ち上げる
- VSCodeに搭載されているターミナルで開く
基本的にどちらでも構いません。
一応、2通り紹介しますので、どちらかでDocker上でコンテナを立ち上げてください。
Mac標準のターミナルを使う場合
ターミナルでcdを使ってlaravel_projectに移動します。
cd Desktop
cd laravel_project
ターミナルで、現在の位置がlaravel_projectになっていればOKです。
docker-compose up -d
コマンドを入力します。
ターミナルにこのように表示されたら成功です!
VSCodeのターミナルを使う場合
VSCodeを開いた状態で、上にあるターミナルをクリックし、新しいターミナルをクリックするとターミナルが出てきます。
もうすでにパスが指定されているので、そのままコマンドを打ち込んでいきます。
ターミナルに打ち込んでEnterを押して実行します。
docker-compose up -d
ターミナルにこのように表示されたら成功です!
Laravelをインストールする
Laravelをプロジェクトファイルにインストールしていきます。
docker-compose exec php composer create-project --prefer-dist "laravel/laravel=8.*" .
Enterを押して実行すると、Laravelのインストールが始まります。かなり時間がかかるので、気長に待ちましょう。
Laravelインストール中…
このように表示されたらLaravelのインストールは終了です。
サーバーを起動する
実際にサーバーを立ててみます。ターミナルに下記のコマンドを打ち込みます。
docker-compose exec php php artisan serve --host=0.0.0.0 --port=8000
このように表示されたらブラウザを起動し「http://localhost:8000」にアクセスしてみてください。
Laravelのサーバーが起動
このような画面になったらサーバーが起動できている証拠です。
サーバーを停止したい時は、ターミナルでctrlとcを同時に押すと終了することができます。
Laravelの基本設定
タイムゾーンを設定する
'timezone' => 'Asia/Tokyo'
src/config/appを開いて、timezoneを'Asia/Tokyo'にします
Localeを設定する
タイムゾーンのすぐ下にあります。enからjaに変えておきましょう。
データベースを設定する
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=password
DB_HOSTをmysqlに、DB_PASSWORDをpasswordにします。
マイグレーションをする
実際にマイグレーションをしてデータベースが正しく設定されているか確認してみましょう。
docker-compose exec php php artisan migrate
このようにマイグレーションができたらOKです。
環境構築終了!
これでLaravelをDockerで開発することができるようになりました!
ここまでお疲れ様でした。
もしこの記事が参考になったらSNSシェア、コメントなどよろしくお願いします。
他の記事も読んでくださるとすごく嬉しいです。
https://www.chickensblog.com/vscode-ru。ncode-run/
コメント