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_PASSWORDexampleはセキュリティ上の理由で変更することを強く推奨します。
  • phpmyadmin/phpmyadminイメージは最新版を使用していますが、必要に応じてバージョンを指定できます。
  • MySQLのデータはdb_dataボリュームに保存されます。

まとめ

1. docker-compose.yml: MySQLとphpMyAdminの設定を一元化します。

2. コンテナ起動: docker-compose up -dで簡単なステップで両方のサービスが稼働します。

3. セキュリティ: パスワードは変更することを忘れないでください。

4. 監視: docker psdocker logsを使って状態を確認できます。

関連記事:

お気軽にご相談ください

お見積りへ お問い合わせへ