[Docker] MySQLのコンテナ構築

$ sudo docker network create mysql-nw

データボリュームコンテナを作成する
データディレクトリは/var/lib/mysql/ とする
$ sudo docker run -v db-volume:/var/lib/mysql/ –name=db-container busybox

mysql/Dockerfile

FROM mysql:8

ENV MYSQL_ROOT_PASSWORD=dbpass01

CMD ["mysqld", \
"--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci",\
"--default-authentication-plugin=mysql_native_password"]

$ sudo docker build -t mysql-image .
※DockerfileのポートはEXPOSEで3306

$ sudo docker run –volumes-from=db-container –name=mysql-container –net=mysql-nw -d mysql-image
$ sudo docker exec -it mysql-container /bin/bash
root@ae32b7c17975:/# mysql -uroot -pdbpass01
mysql> status
————–
mysql Ver 8.0.28 for Linux on x86_64 (MySQL Community Server – GPL)

$ sudo docker run –rm –volumes-from db-container -it ubuntu /bin/bash
root@6a77206db029:/# ls -l /var/lib/mysql/

Dockerfile

#phpmyadminのイメージ取得
FROM phpmyadmin/phpmyadmin

ENV PMA_HOST=mysql-container \
	PMA_USER=root \
	PMA_PASSWORD=dbpass01

$ sudo docker build -t pma-image .
$ sudo docker run –net=mysql-nw –name=pma-container -p 8080:80 -d pma-image