前言
1.介于mysql的安装很容易出现各种坑,本文使用 mysql 的docker镜像
2.为了方便管理mysql数据库又不暴露mysql服务,所以使用phpmyadmin管理
pull镜像
#下载mysql镜像docker pull mysql#下载phpmyadmin镜像docker pull phpmyadmin/phpmyadmin
创建网络
docker network create --driver bridge --subnet 172.22.9.0/24 --gateway 172.22.9.1 mynet
查看网络
docker network ls
出现 mynet 证明创建成功
创建Mysql容器
默认账户:root,
设置密码:Password123456.
接入网络:mynet
指定地址:172.22.9.3
镜像名称:mysql
容器名称:mysql
docker run --name mysql --network mynet --ip 172.22.9.3 -e MYSQL_ROOT_PASSWORD=Password123456. -d mysql
创建phpmyadmin容器
接入网络:mynet
指定地址: 172.22.9.4
连接容器:mysql
连接容器后重命名:db(必要)
镜像名称:phpmyadmin/phpmyadmin
容器名称:phpmyadmin
docker run --name myadmin --network mynet --ip 172.22.9.4 -d --link mysql:db -p 8080:80 phpmyadmin/phpmyadmin
验证
在内网 浏览器中 输入:
http://{宿主机IP}:8080/
用户名:root
密码:Password123456.
进入下图,证明配置成功
连接
如果其他容器 要使用mysql
在 run 容器时候 需要 加入网络 mynet(--network mynet )
mysql的host=172.22.9.3
如果使用mysql-client连接报错:
Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so:
解决方案:
需要登录phpmyadmn:
【修改权限】-【修改密码】-【密码加密方式】-【MySql自带身份验证】-【执行】
再次连接即可成功