2014-11-24 142 views
3

我在Docker容器中构建了一个Django应用程序。并在IP 192.168.1.13的服务器上运行它。我设置Django settings.py来连接192.168.1.6的mysql服务器。它是一个外部独立服务器。但是当我运行容器时,它总是说用户[email protected]的访问被拒绝。 Django如何连接到docker host ip但不是定义的服务器ip?如何在Docker容器中连接外部mysql服务器

任何机构都可以帮我解决这个问题吗?非常感谢。

有两台服务器。

服务器A是192.168.1.13。有一个Django Docker容器在上面运行。

服务器B是192.168.1.6。它是一个MySQL服务器。

而我想django容器连接服务器B.但它报告无法连接到它的主机服务器。

回答

1

看起来您已授予访问权限,只能通过本地主机访问您的用户。试试你的MySQL服务器上执行以下操作:

GRANT ALL PRIVILEGES ON * . * TO 'xxx'@'192.168.1.13'; 

请注意,上述@后的IP地址是指MySQL客户端从(Django的容器)连接的地址,MySQL服务器的不是地址。

+0

谢谢您的回复。但我认为你的建议不会奏效。因为192.168.1.13是我的码头主机。它确实不是MySQL服务器。 MySQL服务器IP是192.168.1.6。我将它设置在settings.py中,但是django实例尝试连接192.168.1.13。这是我的问题。 – morphinewan 2014-11-24 11:07:59

+0

答案中指定的IP地址是指用户从中连接的主机,而不是其连接的主机。你测试了我的命令吗? – dukebody 2014-11-24 14:15:23

+0

谢谢。我很愚蠢。我误解了你的建议。你的回答是正确的。我的问题已解决。再次感谢你。 – morphinewan 2014-11-25 01:02:25

相关问题