Docker for MAC - 强制使用静态 IP

Docker for MAC - force static IP

我在 Mac 上使用 Docker(之前我在 Windows 上使用 Docker 收费箱)但我有时会遇到问题 Docker 更改 IP - 目前它仅使用 IP 192.168.0.198 和 192.168.0.196

问题是 - 是否有可能以某种方式强制 Docker 始终使用相同的 IP。

设置的时候现在很郁闷:

一段时间后,我似乎需要再次将其切换到另一个 IP,因为 Docker 决定使用不同的 IP。据我所知,我从未在 Windows 上发生过这种情况 - Docker 一直使用相同的 IP。

如果您需要在此处添加更多内容,请告诉我。

Docker for Mac 提供了一个 networking layer 来公开您在主机上发布的 docker 端口。如果您从同一台机器访问容器,您应该能够使用 localhost 访问 docker 服务。链接文档中的例子以nginx为例:

docker run -d -p 80:80 --name webserver nginx

在 运行 之后,您应该会在浏览器中的 http://localhost 看到一个页面。

要访问主机外部的服务,您需要将 macOS 配置为使用手动配置的静态地址,如 https://support.apple.com/kb/PH25448 所述,或者在路由器的 DHCP 配置中为机器分配一个保留地址。还要检查您是否没有任何可能阻止流量的防火墙限制。如果一切设置正确,您只需使用 Mac 的地址即可访问您的容器。无需使用特殊地址。

子网 192.168.0.x 被 docker 网桥使用还是它只是一个主机网络?。如果是主机网络,则为主机分配一个静态 IP 地址,而不是依赖 DHCP 服务器,它可以随时为您分配不同的 IP 地址。

如果是 docker 网络,则为该网络提供一个静态 IP 地址。 Docker 网络的综合指南在 Aquasec Docker containers 维基页面上。