Docker内的django无法连接到宿主机的MySQL数据库
首先django程序需要修改setting.py中的数据库配置的HOST
IP通过在宿主机上通过
ifconfig指令查看到docker0的IP地址,通常为172.17.0.1,宿主机访问docker的ip则是最后一位改为2,即172.17.0.2,宿主机和docker容器就是通过这个docker0网桥进行通信的。配置mysql允许远程访问
编辑cnf文件,bind-address = 127.0.0.1改为bind-address = 0.0.0.0
1 | vim /etc/mysql/mysql.conf.d/mysqld.cnf |
进入mysql
1 | > grant all on *.* to root@'%' identified by '你的密码' with grant option; |
再重启mysql,即可以从外部计算机通过root用户连接到此mysql数据库
1 | /etc/init.d/mysql stop |