2015-09-04 99 views
0

注意:我是網絡noob,因此請解釋相應的答案。Mac上的Docker無法訪問端口

我在Mac OS上運行boot2docker + VirtualBox。

啓動我的碼頭工人容器是這樣的:

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

在容器我開始nginx的和蒙戈。然後容器我嘗試:

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?

+0

docker port的輸出:''28017/tcp - > 0.0.0.0:28017 80/tcp - > 0.0.0.0:80''' – Greg

回答

1

明白了。 mongodb(進程綁定到端口28017)默認情況下具有阻止非本地訪問的配置,因此它自然不會在容器外可見。取消註釋該配置可解決問題。

至少它迫使我從boot2docker升級到docker工具箱,所以這是件好事。

相關問題