本記事ではdockerでphpmyadminを使用するための手順を掲載する。
前提としてdocker-composeを使用する。
docker-composeが何か良くわからない方は下記記事を参考にして欲しい。
具体的には以下のような手順でdockerでphpmyadminを使用できるようにしていく。
- docker-composeを作成
- dockerを起動
- URLへアクセス
① docker-composeを作成
まずはdocker-compose.ymlを作成する。
#docker-compose.yml
services:
mysql:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=[mysqlのrootユーザのパスワード]
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql #mysqlサービス名を指定
- PMA_USER=root
- PMA_PASSWORD=[mysqlのrootユーザのパスワード]
links:
- mysql
ports:
- 4040:80
volumes:
- ./phpmyadmin/sessions:/sessions
使用するphpmyadminのイメージは「phpmyadmin/phpmyadmin」だ(https://hub.docker.com/r/phpmyadmin/phpmyadmin/)。
- PMA_HOST:mysqlのサービス名を指定する。
- PMA_USER:phpmyadminにログインするユーザを設定する。
- PMA_PASSWORD:phpmyadminにログインするユーザのパスワードを設定する。
※ユーザ部分は例としてrootユーザを指定しているが、他のユーザを使いたい場合は他のユーザとパスワードを指定して構わない。
② dockerを起動
次にdocker-composeコマンドでコンテナを起動する。
docker-compose up -d
③ URLへアクセス
以下のURLへアクセスする。
http://localhost:4040/
※ポートはdocker-compose.ymlで指定した値であることに注意)

phpmyadminが表示されればOK。
これで、phpmyadminに慣れ親しんた方は安心・快適にDBの操作を行うことができるだろう。
おまけ①:上記設定でURLへアクセス時エラーが出る場合
参考までに、上記設定でもURLへアクセスした際に、
「接続できません。設定が無効です。」みたいなエラーがでた場合は、以下のコマンドで解決できる。
docker system prune
んで、再度「docker-compose up -d」でコンテナを立ち上げ、URLへアクセスする。
詳細は忘れたが、docker-compose.ymlを色々いじっていたら上記の症状に出くわし、解決は上記コマンドで行えたので、おまけとして紹介しておく。
おまけ②:phpmyadminからインポート時、「phpMyAdmin – エラー Incorrect format parameter」が出た時の対処法
下記記事にて、phpmyadminからインポート時、「phpMyAdmin – エラー Incorrect format parameter」が出た時の対処法を紹介している。
https://hub.docker.com/_/phpmyadmin
https://qiita.com/furu8ma/items/50718efebee20fd24517
[…] Hub phpmyadminnull 参考Docker Hub Mysqlnull 参考DockerでphpMyAdminを使用する手順を紹介するよはらちゃんエンジニアブロ… 参考Compose ファイル version 3 リファレンス — Docker-docs-ja 20.10 […]