Docker - 无法连接到远程数据库

时间:2018-06-04 18:56:45

标签: mysql docker docker-compose

我正在使用Docker for windows。我有一些容器(dev-httpd,dev-mysql等)我试图从远程下载数据库(在我的dev-mysql容器中复制它),我无法连接到该数据库搬运工即可。当我通过xampp运行一些数据库工具(例如Adminer)并使用登录名和密码插入SQL命令的值我可以连接到它(我可以看到数据库,请参阅数据,...)

我是否需要以某种方式在虚拟docker机器中设置防火墙规则以允许远程数据库?

我在窗口启动时启动docker,然后我使用 docker-compose up -d (启动我需要的所有容器)然后通过 docker exec登录 - ti dev-httpd bash 命令。

有谁知道可能会出现什么问题?

2 个答案:

答案 0 :(得分:0)

我猜您的数据库不具有公共IP地址或公共主机名。从容器内部,您只能访问公共IP地址或主机名,因为默认情况下,您的容器无法了解您的本地网络配置。

我认为您使用主机网络与docker run的--network host选项更成功。见(https://docs.docker.com/network/host/

答案 1 :(得分:0)

问题在于localhost和0.0.0.0

Localhost允许您仅从该计算机访问该端口,使用0.0.0.0将允许它在外部可见。或者只使用您的IP而不是默认值。