debugging错误:getaddrinfo ENOTFOUND与docker集装箱

我有两个共享Dockernetworking的Docker容器

docker network create my_net docker run --net=my_net --name x x-image docker run --net=my_net --name y y-image 

我看到的错误是,即使这些容器在同一个dockernetworking中,我不能从HTTP访问另一个容器,我得到:

 Error: getaddrinfo ENOTFOUND xx:3040 

我觉得这真的很令人惊讶。 当我运行docker ps时,这些容器启动并运行。

我还可以怎样debugging这个问题? 我没有想法。

当我运行docker ps ,名为x容器的PORTS条目是“3040 / tcp”。

好,所以我有一个线索。 当我运行docker logs x ,我看到:

 Error: listen EADDRNOTAVAIL 172.18.0.4:3040 

所以我的问题是 – 当我的服务器试图收听该地址时,为什么会得到EADDRNOTAVAIL?