簡體   English   中英

如何從主機通過其Ip訪問Docker容器

[英]How to access docker container via its Ip from the host

我希望能夠通過其ip訪問docker容器,例如,當我執行docker容器檢查foo時可以看到的容器

原因是我在一個docker容器內使用zookeeper,該容器管理着另外兩個運行solr的docker容器。 我的代碼(不在docker中,並且我現在不希望如此)調用zookeeper來獲取solr服務器的URL,zookeeper將其報告為docker容器ip。 然后我的代碼崩潰了,因為從主機調用docker容器ip失敗,因為它應該調用localhost。

因此,如何允許從主機對docker容器ip的調用正確路由。 (我正在使用適用於Mac的Docker本機)

我沒有在Mac上使用Docker,所以我不確定最新的Docker for Mac是否仍基於Docker-machine(基於VirtualBox)。

如果可以確認Mac的Docker是基於VirtualBox的,那么您可能可以通過ifconfig命令獲取vboxnet0網絡接口的inet IP。 該IP應該用作您的呼叫IP。

此外,您應該知道Zookeeper容器的端口號。 通常,可以在docker run命令中配置容器的暴露端口,例如:

docker run -p 5000:5001 -i -t ubuntu /bin/bash

-p表示容器的裸露端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM