如何从主机解析Docker容器的主机名?

时间:2016-03-23 17:40:58

标签: docker dns docker-compose

我知道Docker在127.0.0.11上运行了一个神奇的dns,所以我想我会尝试

nslookup mycontainername 127.0.0.11

其中mycontainername当然是我正在尝试访问的容器的名称。但是,那时间已经过了。

;; connection timed out; no servers could be reached

我做错了什么?我在Docker 1.10.3上。如果有帮助,我会使用docker-compose 1.6.2。

提取一堆容器

编辑这是Docker 1.10 access a container by it's hostname from a host machine

的副本

2 个答案:

答案 0 :(得分:2)

对此有一个极好的解决方案,该问题已在本文中得到解答:https://stackoverflow.com/a/51125399/9270227。基本上,它只是一个名为docker-hoster的轻型容器,可以为您完成所有繁重的工作。

答案 1 :(得分:1)

documentation中,它暗示只有在您明确创建了网络并将容器附加到它们之后,这才有效。尝试类似:

docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw
docker network connect isolated_nw mycontainername

看看你是否可以使用127.0.0.11(在版本1.10.3上为我工作)

有关详细信息,请参阅this ticket