首页 > 解决方案 > Nginx Docker 容器可以看到其他容器,但不能通过暴露的端口

问题描述

我正在运行两个容器,Nginx 和 Hivemq。在 nginx 容器中,以下工作:

root@14f03fa1193a:/# ping  broker1
PING broker1 (172.29.0.2) 56(84) bytes of data.
64 bytes from broker1.test (172.29.0.2): icmp_seq=1 ttl=64 time=0.131 ms
64 bytes from broker1.test (172.29.0.2): icmp_seq=2 ttl=64 time=0.111 ms

但是,Name or service not known当我包含另一个容器的端口时,我得到了一个。容器是这样运行的:

nginx:

docker run -d --name nginx --network test nginx

hivemqmq:

docker run -d -p 1883:1883 --name broker1 --network test hivemq/hivemq4:latest

docker container inspect broker1产量:

...
            "PublishAllPorts": false,

...
            "ExposedPorts": {
                "1883/tcp": {},
                "8000/tcp": {},
...
            "Ports": {
                "1883/tcp": [
                    {

标签: dockernginxnetworking

解决方案


推荐阅读