2026年8月11日
2026年8月11日
docker-composeでMySQL+phpMyAdminを起動する方法
はじめに
Dockerはアプリケーションのコンテナ化とデプロイを簡素化するための強力なツールです。特に開発環境やテスト環境では、MySQLデータベースとphpMyAdmin管理インターフェースを持つ迅速かつ効率的なセットアップが求められます。この記事では、docker-compose.ymlファイルを使用して、MySQLとphpMyAdminを組み合わせて起動する方法を解説します。
症状・背景
- ローカル開発環境でMySQLとphpMyAdminの両方を使いたい。
- セキュアなデータベース管理が必要だが、手動設定は煩雑だ。
- すぐに使用できる統一されたdocker-composeファイルがほしい。
手順・設定方法
ステップ1: docker-compose.ymlを作成
# MySQLとphpMyAdminのコンテナを定義します。
version: '3.8'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: example
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
ports:
- "8081:80"
environment:
PMA_HOST: db
MYSQL_USER: example
MYSQL_PASSWORD: example
MYSQL_ROOT_PASSWORD: example
volumes:
db_data:
ステップ2: コンテナを起動
# docker-compose.ymlが置かれたディレクトリから以下のコマンドを実行します。
docker-compose up -d
ステップ3: phpMyAdminにアクセスする
- http://localhost:8081 にブラウザでアクセスします。
ステップ4: データベースの初期設定
# docker-compose exec db mysql -uroot -p
注意事項
MYSQL_ROOT_PASSWORDとexampleはセキュリティ上の理由で変更することを強く推奨します。phpmyadmin/phpmyadminイメージは最新版を使用していますが、必要に応じてバージョンを指定できます。- MySQLのデータは
db_dataボリュームに保存されます。
まとめ
1. docker-compose.yml: MySQLとphpMyAdminの設定を一元化します。
2. コンテナ起動: docker-compose up -dで簡単なステップで両方のサービスが稼働します。
3. セキュリティ: パスワードは変更することを忘れないでください。
4. 監視: docker psやdocker logsを使って状態を確認できます。
関連記事: