Docker for MAC - 强制静态IP

时间:2018-03-24 19:46:23

标签: macos docker docker-for-mac

我正在使用Docker for Mac(以前我在Windows上使用Docker Tollbox)而且我遇到问题 - Docker不时改变IP - 到目前为止它只使用IP 192.168.0.198和192.168.0.196

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

当我设置时,现在非常令人沮丧:

  • 托管此IP
  • SSH到此IP
  • 数据库到此IP

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

如果您还需要更多信息,请与我们联系。

2 个答案:

答案 0 :(得分:1)

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的地址即可访问您的容器。没有必要使用特殊地址。

答案 1 :(得分:0)

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

如果是docker网络,请为网络提供静态IP地址。关于Docker网络的综合指南在Aquasec Docker containers Wiki页面上。