本連載でも何回かMySQLをDockerで扱う方法に関して簡単に説明してきました。これまでの方法としては、
そこで今回は、
検証環境
今回は、
検証のデータには、
注意
今回はローカルでの開発環境でという想定で、
phpMyAdminとは?
phpMyAdminはPHPで書かれたフリーソフトウェアのひちつで、
Docker上でphpMyAdminとMySQLを接続する
それではDocker上でphpMyAdminとMySQLを接続してみましょう。今回もdocker-composeを利用して接続を行っていきます。第106回 Docker Composeを使って便利にMySQLを利用してみると第122回 DockerでMySQLをもっと便利に活用してみるで紹介したDockerfileを利用して、
ファイル構成は以下のとおりです。これから順に以下のファイルに関して説明を行っていきます。
$ tree . . ├── Dockerfile ├── docker-compose.yml └── docker-entrypoint-initdb.d ├── 1_ddl.sql ├── 2_load_data_infile.sql └── KEN_ALL_UTF8.CSV
Dockerfileは以下のように第122回のものを使用しています。
FROM mysql:latest
RUN apt-get update
RUN apt-get -y install locales-all
ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
docker-compose.
version: '3'
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
environment:
PMA_HOST: 'mysql'
ports:
- '127.0.0.1:8080:80'
mysql:
build: .
volumes:
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: password
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --secure-file-priv="/docker-entrypoint-initdb.d"
phpMyAdmin側で設定をしている環境変数PMA_
は、mysql
と設定しています。portsは他の人からアクセスができないように、
docker-entrypoint-initdb.
これを動かすにはdocker-compose build
でbuildを行い、docker-compose up
などで起動することができます。
今回は、
設定を追加して、docker-compose up -d
を行います。localhost:8080へブラウザでアクセスをすると、

ここでdocker-compose.
今回はrootユーザのパスワードとしてpassword
を指定しているため、
ログインすると、

認証を自動化する
phpMyAdminにはMySQLのパスワードを事前に設定しておくことで、
version: '3'
services:
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
environment:
PMA_HOST: 'mysql'
PMA_USER: 'root'
PMA_PASSWORD: 'password'
ports:
- '127.0.0.1:8080:80'
mysql:
build: .
volumes:
- ./docker-entrypoint-initdb.d:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_PASSWORD: password
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --secure-file-priv="/docker-entrypoint-initdb.d"
追加したのはPMA_
というユーザ名を指定する環境変数と、PMA_
というパスワードを指定する環境変数です。
以上のようにdocker-composeへの変更を行ってctrl-cをしてから、docker-compose up
で起動してみましょう。今度は認証ページが表示されること無くログイン後の画面が表示されるはずです。
今回紹介した環境変数以外にも、
まとめ
今回は、