nginx docker容器上的连接被拒绝

时间:2015-10-08 17:22:49

标签: macos nginx docker

我在OSX中安装了Docker Toolbox,我正在关注deploying Nginx上的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

然而,当我curl http://localhost:32770时,我收到连接拒绝错误:

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

我很难看到我在这里错过的东西。鉴于我在OSX上,是否需要执行额外的步骤?

4 个答案:

答案 0 :(得分:56)

问题是您的DOCKER_HOST未设置为localhost,您需要使用docker-machine的IP地址,因为您使用的是Docker Toolbox:

docker-machine ip default#应该返回您的IP地址。

有关详细信息,请参阅Docker Toolbox Docs

答案 1 :(得分:3)

docker-machine ip default
xxx.docker.machine.ip

然后

curl http://xxx.docker.machine.ip:32770

答案 2 :(得分:2)

如果你在OS X 10.10.3 Yosemite或更新版本并使用Docker for Mac,你将不会担心docker-machine或docker工具箱或DOCKER_HOST。

只需在运行命令local-port:container-port

上映射端口
docker run --name my-web  -p 8080:80

答案 3 :(得分:0)

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

编辑:docker.for.mac.host.internal已过时,它们切换到host.docker.internal。 参考:https://docs.docker.com/docker-for-mac/networking/#use-cases-and-workarounds

相关问题