转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]

背景说明

        docker安装了某个镜像,如某个web。然后镜像中的应用在安装时候,报错无法连接mysql。

解决方法

(这套方法其实也实现了允许mysql远程访问)

1、修改mysql配置文件中的绑定地址为允许任何来源的连接:

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

然后保存并重启mysql:

sudo service mysql restart

2、修改mysql为允许任何来源的连接:

use mysql;
select user,host from user;
update user set host='%' where user='root';
FLUSH PRIVILEGES;
exit

3、查看并记下docker的ip:

ifconfig

4、将应用的mysql地址改为这个ip:

扩展思考

        举一反三,其他的情况也可以参考这套方法,比如docker应用+主机redis,也是redis开bind为0.0.0.0,然后ip改为docker eth0的。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐