从macOS上的Docker容器内部连接到localhost mysql服务器

rig*_*gal 3 mysql macos docker osx-elcapitan

如何从macOS上的docker容器连接到localhost mysql服务器?一种使用--add-host的方法,但这需要我传递一些名称,例如“ myhost”。macOS中有什么方法可以使从Docker容器内部对localhost的引用实际上是指Docker主机吗?

Ser*_*rge 6

在MacOS上,docker提供特殊的DNS名称docker.for.mac.localhost,它将解析为主机使用的内部IP地址。


Sha*_*nid 5

使用host.docker.internal

连接到运行 Docker 的主机。这仅适用于 docker 版本 18.03 及以上版本,并且这仅用于开发目的,不适用于 Mac 版 Docker Desktop 之外的生产环境。(请参阅页面https://docs.docker.com/docker-for-mac/networking/了解更多信息)

oracle 的示例连接字符串 jdbc:oracle:thin:@host.docker.internal:1521/orcl

从 Docker 容器内部,如何连接到机器的本地主机?


Avi*_*aya 0

您应该能够使用主机实际 IP 地址连接到主机上运行的 MySql。在 MacOS 中,尝试通过命令查找您的 IP ifconfigen0大多数情况下使用分配给您的以太网接口的 IP应该可以工作。只需从容器内调用该 IP 即可。

*localhost 或 127.0.0.1 或 0.0.0.0 不会调用主机,因为它们是容器本身的本地主机。