无法从Docker容器连接到另一个。拒绝连接

时间:2018-12-17 20:31:20

标签: docker networking

我正在尝试使用telnet建立从一个Docker容器到另一个Docker容器的连接,但是我始终收到“ telnet:无法连接到远程主机:连接被拒绝”错误。

到目前为止我已经执行的命令:

docker run -dit --name nA --net mynet -p 8081:80 -p 1001:443 test_image:1.0 bash

docker run -dit --name nB --net mynet -p 8080:80 -p 1000:443 test_image:1.0 bash

这是docker inspect mynet的输出

"Containers": {
        "1df3f3821710b3f8103fe79e338d709a93baf301dafc015bb5f1e162bca206de": {
            "Name": "nB",
            "EndpointID": "bf7cbc2e60ddb99cd3b8bd416b066787840ced6de74eb1961b4f9663a28fdd80",
            "MacAddress": "02:42:ac:13:00:03",
            "IPv4Address": "172.19.0.3/16",
            "IPv6Address": ""
        },
        "7aea617e121eda0884ae7ce46e1534800af2d30822f3899f69c4165a40c1370d": {
            "Name": "nA",
            "EndpointID": "7a60026517ff0b1b337a5af9ccf8d7dc9c896606196bcb1bafe537e6fddaa8dc",
            "MacAddress": "02:42:ac:13:00:02",
            "IPv4Address": "172.19.0.2/16",
            "IPv6Address": ""
        }
    },

Ping完美运行:

root@1df3f3821710:/# ping nA
PING nA (172.19.0.2) 56(84) bytes of data.
64 bytes from nA.mynet (172.19.0.2): icmp_seq=1 ttl=64 time=0.141 ms
64 bytes from nA.mynet (172.19.0.2): icmp_seq=2 ttl=64 time=0.261 ms

然后,我尝试使用已发布的端口从一个容器连接到另一个容器。

root@1df3f3821710:/# telnet nA 8081
Trying 172.19.0.2...
telnet: Unable to connect to remote host: Connection refused
root@1df3f3821710:/# telnet nA 1001
Trying 172.19.0.2...
telnet: Unable to connect to remote host: Connection refused
root@1df3f3821710:/# telnet nA 80
Trying 172.19.0.2...
telnet: Unable to connect to remote host: Connection refused
root@1df3f3821710:/# telnet nA 443
Trying 172.19.0.2...
telnet: Unable to connect to remote host: Connection refused

从另一个容器连接时也会发生同样的情况。

root@7aea617e121e:/# telnet nB 8080
Trying 172.19.0.3...
telnet: Unable to connect to remote host: Connection refused
root@7aea617e121e:/# telnet nB 80  
Trying 172.19.0.3...
telnet: Unable to connect to remote host: Connection refused
root@7aea617e121e:/# telnet nB 1000
Trying 172.19.0.3...
telnet: Unable to connect to remote host: Connection refused
root@7aea617e121e:/# telnet nB 443 
Trying 172.19.0.3...
telnet: Unable to connect to remote host: Connection refused

这是什么问题?

Docker版本:17.09.0 操作系统:Mac和Windows

1 个答案:

答案 0 :(得分:0)

  1. 已发布的端口可从主机获取,它们不用于容器间通信。

  2. 您将覆盖为映像定义的任何命令,然后启动bash,因此这是在容器上运行的唯一进程,并且容器内的应用程序根本没有启动。

您打算做的是以下

Error returned from build: 1 "/opt/go/pkg/tool/linux_amd64/link: signal: killed

然后连接到运行中的容器

docker run -d --name nA --net mynet -p 8081:80 -p 1001:443 test_image:1.0
docker run -d --name nB --net mynet -p 8080:80 -p 1000:443 test_image:1.0