【发布时间】:2021-06-30 04:13:15
【问题描述】:
非常抱歉,我在 stackoverflow 上找到了几个主题,但没有一个能解决我的问题。我是一个 docker noob,但我想要做的就是在通过 windows 上的 docker-desktop 创建的 docker 容器中连接到我的 docker mysql 数据库。
docker run -p 3306:3306 --name blaaa -e MYSQL_ROOT_PASSWORD=password -d mysql
我使用建议的端口映射设置了所有内容,但我无法通过 mysql-workbench 或其他程序从主机(Windows 10)连接到 docker 容器。我读到有问题,您经常无法通过 localhost 连接到 docker 主机,但我什至无法弄清楚 docker0 或其他适配器的怪异 ip 是什么(ipconfig 没有显示任何内容)。 docker inspect <id> 显示了很多信息,但是除了映射到 0.0.0.0:3306 和其他不起作用的 ip 之外,我真的不知道在这里做什么。容器本身运行良好,我可以从容器内部毫无问题地访问数据库。
感谢您的帮助!
/已解决
我很抱歉造成混乱;我认为这是由于 Windows 客户端(我尝试了几个)导致事情没有成功。我终于让它与 HeidiSQL 一起工作。不要问我 HeidiSQL 最终是如何或为什么起作用的;但是 mysql-workbench 在我的系统上通常表现出奇怪的行为,它突然崩溃了好几次。感谢您的帮助。
【问题讨论】:
-
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name 使用它来获取容器的 ip
-
感谢您的回答。我实际上得到了ip,但我仍然无法连接......
-
我是否正确理解这一点,如果有来自外部的服务尝试连接,日志至少应该记录一些内容?因为他们没有提到任何东西......我只是想弄清楚这个问题是否与容器或mysql-workbench有关......
-
您是如何尝试连接到容器的?
-
@antoniomerlin 您无法访问 Windows 或 MacOS 主机上的 Docker 私有 IP 地址,或者如果您不在同一物理主机上,或者如果涉及 VM,或者...。您永远不需要查找它们。
标签: mysql docker windows-10