🗄️ Adminer (DB Management Tool)
概要
Adminer (以前の phpMinAdmin) は、PHPで書かれたフル機能のデータベース管理ツールです。 MySQL, MariaDB, PostgreSQL, SQLite, MS SQL, Oracle など多数のDBをサポートしています。 同様のツールとして phpMyAdmin が有名ですが、Adminerはセキュリティ重視、軽量、単一のPHPファイルで動作するという特徴があります。
💡 なぜ必要なのか?(導入メリット)
データベース(MariaDB)の中身を確認・操作するには、通常 mysql コマンドラインツールを使用します。 しかし、コマンドラインでの操作はSQL構文をすべて覚える必要があり、複雑なデータの確認や構造変更は大変です。
Adminerを導入すると:
- GUIで操作: ブラウザからクリック操作でテーブルの作成、データの閲覧・編集・削除が可能。
- デバッグ効率化: WordPressのデータ(ユーザー情報、投稿データ、オプション設定など)が正しくDBに入っているかを視覚的に確認できるので、開発やトラブルシューティングが圧倒的に楽になる。
⚙️ 仕組みとアーキテクチャ
AdminerコンテナはWebサーバー機能を持っており(またはPHPビルトインサーバー使用)、MariaDBコンテナに対してポート3306で接続します。 NGINXを経由してAdminerにアクセスできるように設定します。
実装のポイント
- 公式イメージ:
adminerのDocker公式イメージを使用。 - NGINX設定: Adminerへのアクセスルート(例:
/adminerや専用サブドメイン)を設定する必要がある。- FastCGIではなく、Adminerコンテナ自体がHTTPを話すため
proxy_pass http://adminer:8080;のようにリバースプロキシ設定を行うのが一般的(FastCGIでPHP-FPMとして動かす構成も可能だが、公式イメージ利用ならHTTPプロキシが楽)。
- FastCGIではなく、Adminerコンテナ自体がHTTPを話すため
- ネットワーク: Adminerコンテナが
inceptionネットワークに参加し、MariaDBコンテナが見える状態にする。
✅ 動作確認方法 (レビュー用)
- ブラウザアクセス:
https://local.dev/adminer(等の設定したURL)にアクセスし、ログイン画面が表示されること。 - ログイン成功:
- System: MySQL (MariaDB)
- Server:
mariadb(コンテナ名) - Username: (WordPress用のDBユーザー)
- Password: (そのパスワード)
- Database: (WordPress用のDB名) 上記を入力してログインし、テーブル一覧(
wp_users,wp_posts等)が表示されれば成功。
- データ整合性チェック: Adminerで
wp_usersテーブルの行を表示し、WordPress管理画面のユーザー一覧と同じデータが見えることを示す。
🔗 参考リンク
- Adminer 公式サイト
- Docker Hub: adminer
- Adminer vs phpMyAdmin (なぜAdminerが良いかの比較)