赞
踩
phpmyadmin,一个web版的MySQL客户端管理工具,部署在服务器上,可以解决缺少MySQL客户端管理工具的问题。
本文主要包括以下内容:
phpmyadmin的官网:phpMyAdmin
phpmyadmin的官网文档中,docker部署说明:Installation — phpMyAdmin 5.1.4 documentation
docker run --name mysql_rdb -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql:5.7.42
MYSQL_ROOT_PASSWORD:root账户的密码
docker run --name myadmin -d -e PMA_ARBITRARY=1 -p 13306:80 phpmyadmin:latest
PMA_ARBITRARY:允许手动输入MySQL的IP地址
容器启动后,输入登陆地址:http://ip:13306,ip地址换成自己服务器的IP。页面如下:
为了登陆MySQL,此时需要获取MySQL的IP,由于MySQL和phpmyadmin都是在docker默认的bridge网络上,容器之间无法通过容器名称相互访问(参见:http://t.csdn.cn/qvczF),故可以通过查看默认的bridge网络,查看MySQL的IP,执行命令:
docker network inspect bridge
上述命令输出类的信息中,部署信息类似下面:
"Containers": { "558a502609e8b31a8caf7e816bc4cd1e7215c897a91fec4eee100911f53bcb24": { "Name": "mysql_rdb", "EndpointID": "b760349f587073e09a622d375b797fa8dabb641abfb92f859995d3115a8e3df5", "MacAddress": "02:42:ac:11:00:04", "IPv4Address": "172.17.0.4/16", "IPv6Address": "" }, "5dc9e56d55558c6c9412e5fe49c89a1d5da03f50ab927429665f8dfdeee17c3f": { "Name": "myadmin", "EndpointID": "4c0ea505a8d98e05e859088d342a6f91d4c29e814ca07181a15b85685300215e", "MacAddress": "02:42:ac:11:00:05", "IPv4Address": "172.17.0.5/16", "IPv6Address": "" } }
注意: 这种部署方式,需要查找MySQL的IP,而这个IP可能会变化,存在不稳定因素。故推荐使用docker-compose,定义自己的bridge网络,完成部署
docker-compose的安装:Overview | Docker Documentation
先创建自定义的bridge网络,连接到自定义bridge网络上的容器,可以通过容器名称相互访问,无法关注对方的IP,执行下面的命令
docker network create mysql-net
编写docker-compose.yml文件。
version : '3' services: # MySQL容器 mysql_rdb: # 容器名 container_name: mysql_rdb # 重启策略 restart: always image: mysql:5.7.42 # 自定义的bridge网络 networks: - mysql-net ports: # 指定127.0.0.1,则MySQL无法通过其他主机访问,只能本地服务器访问,保障安全 - "127.0.0.1:3306:3306" volumes: # 挂挂载配置文件 - /home/Pdstars/mysql/conf:/etc/mysql/conf.d # 挂载数据 - /home/Pdstars/mysql/data:/var/lib/mysql environment: # root 密码 MYSQL_ROOT_PASSWORD: 123456 TZ: Asia/Shanghai # phpmyadmin容器 mysql_rdb_manage: container_name: mysql_rdb_manage image: phpmyadmin:latest ports: - 13306:80 environment: # 指定要连接的数据库,使用MySQL的容器名称 - PMA_HOST=mysql_rdb # 指定要连接数据库的端口 - PMA_PORT=3306 depends_on: # 依赖MySQL容器 - mysql_rdb networks: # 自定义的bridge网络 - mysql-net deploy: resources: limits: memory: 500M restart: always networks: # 自定义的bridge网络 mysql-net: external: true
将上面的docker-compose.yml放到服务器特定目录下,如/home
。
启动使用docker compose命令启动,先删除原来分别部署的MySQL、phpmyadmin:
#删除原来的phpmyadmin
docker rm -f myadmin
#删除原来的MySQL
docker rm -f mysql_rdb
#启动docker-compose.yml
docker compose up -d
#有的版本的docker compose启动命令是
docker-compose up -d
启动后,访问登陆页:http://ip:13306,ip地址换成自己服务器的IP。页面如下:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。