如何配置 /etc/hosts 以测试本地 Docker 设置

How to configure /etc/hosts to test local Docker setup

我正在尝试使用原生 Docker 为 OS X(测试版)开发本地网络应用程序来处理整个环境。

为了伪造生产 DNS 配置(以测试 Nginx 设置),我编辑了主机文件(在 /private/etc/hosts):

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

# Added by me
0.0.0.0         www.mydomain.com

Nginx 配置文件已经过测试,可以在生产服务器上运行。

预期行为: 当我将浏览器指向 www.mydomain.com 时,它应该被重定向到 ip 0.0.0.0(Dockers 在 OSX 上的默认 IP),并且应该出现我的容器化 Web 应用程序。

实际行为: 浏览器显示 "Failed to open page" 错误消息。

我在这里错过了什么?

you docker-for-mac ip 不是 0.0.0.0 - 没有这个 ip。如果您使用 docker-for-mac.

,请使用 127.0.0.1

还要确保在启动 docker 时将端口导出到主机,方法是 docker-compose 或 docker 运行 添加 -p 80:80 启动网络容器时

https://github.com/docker/docker/issues/2509

您指定的地址是 inaddr_any ,这基本上是一个通配符。所以你的问题是 /etc/hosts 文件 - 将域名绑定到主机的真实 ip,e。 G。 127.0.0.1