前情提要
docker的运用越来广泛,许多IT公司都已经将自己的服务跑在Docker上面。在安全性方面又做了一层防护。比如:跑在Docker上的Mysql不做外网端口映射,只能在linux服务器上或进入docker访问mysql,这样对开发者来说是有些不方便的。
那么,其实这种情况,我们也是有办法可以做到在本地连接docker里面的MySql数据库的。
环境:
- Linux服务器:centos 7.7
- 服务器IP:192.168.1.5
- 容器:docker
- 实例IP:172.17.0.2
- 数据库:mysqld 5.7.28
- 数据库客户端:navicat ,sqlyog
docker运行
通常我们运行docker实例的命令如:
[[email protected] ~]# docker run -d --name mysql -e MYSQL_ROOT_PASSWORD=attack docker.io/mysql
通常这样运行起来的服务有几个问题
- 1、没有配置固定ip,这样一台服务器上跑多个docker服务,在以后重启的时候,ip地址会变
- 2、ip没有映射,对生产环境来说这不是问题,测试环境和开发环境,这样就很不方便
- 所以使用docker之前先做规划,是好习惯
客户端配置
sqlyog配置
- 1、先配置SSH访问Linux服务器
-
2、再配置访问MySql的账号密码
navicat配置
1、先配置SSH访问Linux服务器
- 2、再配置访问MySql的账号密码
总结
可能出现的问题
- 1、SSH访问的账号密码正确与否
- 2、访问MySql的账号密码正确与否
- 3、运行Mysql实例的docker实例ip,是不是正确