如何从macOS上的docker容器连接到localhost mysql服务器?使用--add-host执行此操作的一种方法,但这需要我传递一些名称,例如"myhost"。macOS 中有什么方法可以让从 docker 容器内部引用本地主机实际上是指 docker 主机?
在MacOS docker上,提供特殊的DNS名称docker.for.mac.localhost
该名称将解析为主机使用的内部IP地址。
使用host.docker.internal
以连接到运行 Docker 的主机。这仅适用于 docker 版本 18.03 及以上,并且仅用于开发目的,不适用于 Docker Desktop for Mac 以外的生产环境。( 请参阅页面 https://docs.docker.com/docker-for-mac/networking/了解更多信息 (
Oracle 的示例连接字符串,JDBC:Oracle:Thin:@host.Docker.internal:1521/ORCL
从 Docker 容器内部,如何连接到计算机的本地主机?
您应该能够使用主机实际IP地址连接到主机上运行的MySql。在 MacOS 中,尝试通过命令 ifconfig
查找您的 ip。主要使用分配给en0
的 IP,即您的以太网接口应该可以工作。只需从容器内调用该 IP。
*localhost 或 127.0.0.1 或 0.0.0.0 不调用主机,因为它们是容器本身的本地。