概要
本記事では、Mac M1でDockerを使ってLaravelプロジェクトを構築する方法と、PHPMyAdminを表示させる方法を紹介します。Dockerを使用することで、環境を独立させて開発を行うことができます。
手順
Dockerをインストール:
Mac M1にDockerをインストールします。以下の手順を実行します。
Docker公式サイト(https://www.docker.com/products/docker-desktop) からDocker Desktopをダウンロードしてインストールします。
Docker Desktopを起動し、Dockerアカウントにログインします。
Laravelプロジェクトの作成:
Dockerを使ってLaravelプロジェクトを作成します。以下の手順を実行します。 ターミナルを開き、Laravelプロジェクトを作成したいディレクトリに移動します。 以下のコマンドを実行し、Laravelプロジェクトを作成します。docker run --rm -v $(pwd):/app composer create-project --prefer-dist laravel/laravel .
Makeupファイルの作成
LaravelプロジェクトのフォルダにMakeupファイルを作成し、必要なタスクを定義します。以下の手順を実行します。 ・LaravelプロジェクトのルートディレクトリにMakeupファイルを作成します。例えば、makeupfileという名前で作成します。 ・Makeupファイルに、Laravelプロジェクトで実行したいタスクを定義します。例えば、以下のようなタスクを定義できます。up:
docker-compose up -d
build:
docker-compose build
create-project:
docker-compose up -d --build
docker-compose exec app composer create-project --prefer-dist laravel/laravel .
docker-compose exec app composer require predis/predis
install:
docker-compose up -d --build
docker-compose exec app composer install
docker-compose exec app cp .env.example .env
docker-compose exec app php artisan key:generate
docker-compose exec app php artisan migrate:fresh --seed
reinstall:
@make destroy
@make install
# 以下略
PHPMyAdminの設定
Docker Composeを使ってPHPMyAdminのコンテナを設定します。以下の手順を実行します。
Laravelプロジェクトのルートディレクトリにdocker-compose.ymlという名前でファイルを作成します。
docker-compose.ymlに、PHPMyAdminのコンテナの設定を記述します。例えば、以下のような設定を追加できます。
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
image: laravel_app
container_name: laravel_app
restart: unless-stopped
volumes:
- .:/var/www/html
networks:
- laravel_net
env_file:
- .env
db:
image: mysql:8.0
container_name: laravel_db
restart: unless-stopped
volumes:
- dbdata:/var/lib/mysql
networks:
- laravel_net
environment:
MYSQL_DATABASE: laravel
MYSQL_USER: root
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: laravel_phpmyadmin
restart: unless-stopped
ports:
- '8080:80'
depends_on:
- db
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD: secret
networks:
laravel_net:
volumes:
dbdata:
Dockerコンテナの起動
Docker Composeを使って、LaravelプロジェクトとPHPMyAdminのコンテナを起動します。以下の手順を実行します。 ターミナルを開き、Laravelプロジェクトのルートディレクトリに移動します。 以下のコマンドを実行し、Dockerコンテナを起動します。docker-compose up -d
・PHPMyAdminの表示:
ブラウザでPHPMyAdminのURLにアクセスし、PHPMyAdminの画面を表示させます。以下の手順を実行します。
ブラウザを開き、http://localhost:8080にアクセスします。
PHPMyAdminのログイン画面が表示されるので、以下の情報を入力してログインします。
ホスト: db
ユーザー名: root
パスワード: secret
Makeup 設定方法
【コード例】:
Makeupファイルの例:
up:
docker-compose up -d
build:
docker-compose build
create-project:
docker-compose up -d --build
docker-compose exec app composer create-project --prefer-dist laravel/laravel .
docker-compose exec app composer require predis/predis
install:
docker-compose up -d --build
docker-compose exec app composer install
docker-compose exec app cp .env.example .env
docker-compose exec app php artisan key:generate
docker-compose exec app php artisan migrate:fresh --seed
reinstall:
@make destroy
@make install
以下略