Macos nginx docker容器上的连接被拒绝

Macos nginx docker容器上的连接被拒绝,macos,nginx,docker,Macos,Nginx,Docker,我已经安装在macOS中,我正在遵循Docker的简单教程 我已经执行了docker run并确认我的容器已创建: docker run --name mynginx1 -P -d nginx docker ps 40001fc50719 nginx "nginx -g 'daemon off" 23 minutes ago Up 23 minutes 0.0.0.0:32770->80/tcp, 0.0.0.0:32769->443/tcp mynginx1 但是当我

我已经安装在macOS中,我正在遵循Docker的简单教程

我已经执行了
docker run
并确认我的容器已创建:

docker run --name mynginx1 -P -d nginx
docker ps
40001fc50719  nginx  "nginx -g 'daemon off"  23 minutes ago  Up 23 minutes  0.0.0.0:32770->80/tcp, 0.0.0.0:32769->443/tcp  mynginx1
但是当我
curlhttp://localhost:32770
,我收到一个连接被拒绝错误:

curl: (7) Failed to connect to localhost port 32770: Connection refused

我努力想知道我在这里错过了什么。鉴于我在macOS上,是否需要执行额外的步骤?

问题是您的
DOCKER\u主机未设置为localhost,您需要使用DOCKER机器的IP地址,因为您使用的是DOCKER Toolbox:

docker机器ip默认值应返回您的ip地址

有关更多信息,请参阅

docker-machine ip default
xxx.docker.machine.ip
然后


如果您在OS X 10.10.3 Yosemite或更新版本上使用Docker for Mac,那么您就不会担心Docker机器、Docker工具箱或Docker_主机

只需映射运行时的端口命令local port:container port

docker run --name my-web  -p 8080:80

在10以上版本的Mac中,您可以尝试使用“docker.for.Mac.host.internal”而不是“localhost”

编辑:docker.for.mac.host.internal已弃用,他们已切换到host.docker.internal。
参考资料:

检查nginx日志和/或增加详细信息。如果我没记错的话,这是一个nginx的问题,nginx正在尝试反向dns查找或类似的东西。谢谢,迈克尔。我想是docker.host.internal。另外,请在下面的回答中提供对文档的参考
docker run --name my-web  -p 8080:80