99 码头工人能够仅将端口公开给主机,而不公开外部。 我需要放置一个运行mongo数据库的docker,我希望只能从主机访问它,但是我需要链接主机端口27017。 这是可能的,还是唯一可能的方法是更改防火墙的定义? docker — 鲁本 source
140 当然,只需将其绑定到localhost,如下所示: 泊坞窗运行-p 127.0.0.1:27017:27017 另外:您的主机也可以通过其IP与每个容器正常通信。使用docker inspect $ID得到一个JSON转储(旁边其他的东西),包含网络IP。 — 蔡司 source 4 它是否类似于[1] docker run -p 27017:27017 -v / var / lib / mongodb / master:/ data mongo:storage_test / usr / bin / start-mongo [2] docker run -p 127.0.0.1: 27017:27017 ...? — 鲁宾2014年 17 第二个选项绑定到本地主机,是的。第一个使该端口公开可用。如果您不希望使用静态端口,请使用127.0.0.1::27017。 — ZeissS 2014年 3 此解决方案似乎不适用于群体模式,请参阅此github问题 — bsimpson53 '17 1 等价的docker-compose简单service-name: { ... ports: [ "127.0.0.1:27017:27017" ] }吗? — Groostav 1 我的docker-compose中的问题是什么,尽管仅绑定到本地主机,但是可以公开访问。stackoverflow.com/questions/50621936/…– — 塔拉·普拉萨德·古隆