【问题标题】:Docker - can not connect to remote DBDocker - 无法连接到远程数据库
【发布时间】:2018-06-04 18:56:44
【问题描述】:

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

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

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

有谁知道可能是什么问题?

【问题讨论】:

    标签: mysql docker docker-compose


    【解决方案1】:

    问题在于 localhost 和 0.0.0.0

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

    【讨论】:

      【解决方案2】:

      我猜您的数据库无法使用公共 IP 地址或公共主机名。在容器内部,您只能访问公共 IP 地址或主机名,因为默认情况下,您的容器不会知道您的本地网络配置。

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

      【讨论】:

        猜你喜欢
        • 2020-09-05
        • 2019-10-16
        • 2021-05-03
        • 2013-12-14
        • 2017-08-20
        • 2018-07-24
        • 1970-01-01
        相关资源
        最近更新 更多