无法在Mac上的Docker中访问端口

时间:2015-09-04 16:57:06

标签: docker boot2docker

注意:我是网络菜鸟,所以请相应地解释答案。

我在Mac OS上运行boot2docker + VirtualBox。

像这样启动我的Docker容器:

docker run -it -p 80:80 -p 28017:28017 mine/envbox bash

在容器中我启动nginx和mongo。然后容器内我尝试:

curl localhost:80  // returns content
curl localhost:28017 // returns content

所以我知道我的服务在容器内是健康的。 外部我运行的主机上的容器:

curl http://$(boot2docker ip):80  // returns content
curl http://$(boot2docker ip):28017  // connection error

我在我的Mac上的VirtualBox上配置了端口转发,如下所示:(应该暴露端口28017)

enter image description here

为什么我在主机上看不到端口28017?

1 个答案:

答案 0 :(得分:1)

知道了。 mongodb(绑定到端口28017的进程)有一个默认阻止非本地访问的配置,因此它自然不会在容器外可见。取消评论该配置解决了问题。

至少它迫使我从boot2docker升级到docker工具箱,所以这是件好事。

相关问题