はじめに
開発環境のDockerComposeとは別でphpMyAdminコンテナを作成して開発環境内のmysqlの操作ができるようにしてみた備忘録。
行なった環境
- macOS Monterey
- Docker Desktop for Macインストール済み
- 開発環境用のDockerは既に環境構築済み(DockerCompose:nginx,php,node,mysql)
- Docker公式のphpMyAdminイメージを使用
https://hub.docker.com/r/phpmyadmin/phpmyadmin/
phpMyAdminコンテナの作成
起動中の開発環境用Dockerのmysqlコンテナ名を調べる
zsh
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
xxxxxxxxxxx sample_mysql "docker-entrypoint.s…" 7 hours ago Up 7 hours 3306/tcp sample-mysql
・・・
・・・
mysqlのコンテナ名 → 「sample-mysql」
起動中の開発環境用Dockerのネットワーク名を調べる
zsh
% docker network ls
NETWORK ID NAME DRIVER SCOPE
xxxxxxxxxxx1 bridge bridge local
xxxxxxxxxxx2 sample_network bridge local
xxxxxxxxxxx3 host host local
xxxxxxxxxxx4 none null local
ネットワーク名 → 「sample_network」
mysqlのコンテナ名とネットワーク名を指定してdocker run
zsh
% docker run --net=sample_network --name phpmyadmin -d --link sample-mysql:db -p 8081:80 phpmyadmin/phpmyadmin
-
--net
:mysqlコンテナのネットワーク名を指定 -
--name
:phpMyAdminコンテナ名を指定 -
-d
:バックグラウドで起動 -
--link
:mysqlコンテナ名を指定 -
-p
:ポートを指定(他のコンテナと被らないように8081にしてます)
以上でphpMyAdminコンテナの完成!
ブラウザでphpMyAdminにアクセス
- 「localhost:8081」でphpMyAdminにアクセス
- mysqlコンテナで設定した認証情報でログイン
phpMyAdminコンテナを新しく作成し、開発用のDokerComposeのmysqlを操作できるようになりました。