phpMyAdminをDocker環境のLaravelプロジェクトに追加する方法
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
関連動画
質問やフィードバック
この記事や動画に関する質問やフィードバックあれば、動画のコメント欄にてお気軽にコメントしてください。
phpMyAdmin を Docker 環境の Laravel プロジェクトに追加する 方法についてまとめました。
記事の最後に、実際に環境構築した動画があります。
詰まった部分があったら動画を参考にしてみてください。
はじめに
前提の条件として
- すでに Docker で Laravel のプロジェクトを構築済みの人向けの記事となります。
もし、これから Docker で Laravel プロジェクトを作成する予定の人は、以下の記事をご覧ください。
Docker で Laravel 11、PHP 8 の環境を構築する方法
結論
docker-compose.yml ファイルを編集、
phpmyadmin:
container_name: "phpmyadmin"
image: phpmyadmin
restart: always
ports:
- 8980:80
environment:
- PMA_HOST=db
- PMA_USER=user
- PMA_PASSWORD=password
と書き、
docker compose up -d
で、ビルドすれば実装が可能です。
localhost:8980
にブラウザでアクセスし、phpMyAdmin の画面に入れれば成功です。
phpMyAdmin を導入するメリット
phpMyAdmin は 、データベース管理のための便利なツールです。
主に、SQL の知識がない初心者や、視覚的にデータベース操作を行いたい開発者に最適です。
GUI を使って簡単にデータベースの操作や管理ができるため、効率的に作業を進めることができます。
要するに、ブラウザで「ちゃんと機能が動いて、データが追加、更新、削除されたか」を確認することができるようになるということです。
解説
コンテナ名はなんでも良いですが、以前作ったものと重複するとエラーになります
container_name: "phpmyadmin"
ポートはお好みの数字で
自分は別プロジェクトと重複があるため適当に数字をつけています。
8980 のところの数字を任意の数字に変えてください。
ports:
- 8980:80
環境変数のところは注意が必要です
environment:
- PMA_HOST=db
- PMA_USER=user
- PMA_PASSWORD=password
- PMA_HOST はサービス名
- PMA_USER は db コンテナの MYSQL_USER
- PMA_PASSWORD は db コンテナの MYSQL_PASSWORD
を指定してください。
例えば以下のように db コンテナを作った場合、
db:
container_name: db
build:
dockerfile: "./docker/db/Dockerfile"
ports:
- 3306:3306
environment:
- MYSQL_DATABASE=${DB_NAME:-laravel-docker}
- MYSQL_USER=${DB_USER:-user}
- MYSQL_PASSWORD=${DB_PASS:-password}
- MYSQL_ROOT_PASSWORD=${DB_PASS:-password}
volumes:
- "./docker/db/data:/var/lib/mysql"
db:
- MYSQL_USER=${DB_USER:-user}
- MYSQL_PASSWORD=${DB_PASS:-password}
の部分が使われます。
注意事項
Laravel を教えている身なので、たまに「本番環境に phpMyAdmin を実装したいが方法が分からない」と聞かれるケースがあります。
本番環境に phpMyAdmin をつけるのはオススメしない
というのが、僕の意見です。
もし、実装する際は、様々な対策によりセキュリティリスクを軽減してご利用ください。
色々やったら安全性は増すと思いますが、自分はその工数に見合うメリットがないと感じているため非推奨です。
まとめ
以上、phpMyAdmin を Docker のプロジェクトに入れる方法でした。