docker - 无法在 Docker for Windows 上访问 RabbitMQ

标签 docker rabbitmq

我确信这里的答案很明显,但我在这里没有找到。我在 Win 10 Pro 机器上安装了 Docker for Windows。 Windows 机器在 192.168.40/24 网络上。

我按如下方式拉取并安装 RabbitMQ:

docker run -d --hostname my-rabbit  --name some-rabbit rabbitmq:3-management

我可以看到它正在成功运行:

docker ps -a
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS                    PORTS                                                 NAMES
3cabceeade6e        rabbitmq:3-management   "docker-entrypoint.s…"   7 minutes ago       Up 7 minutes              4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   some-rabbit

但是我无法远程登录到 127.0.0.1 上的 5671 或 15672。我也试过禁用 Windows 防火墙,但没有成功。

不确定这有什么关系,但 Docker 配置了以下网络设置:

enter image description here

编辑: IP 地址信息是:

 "NetworkSettings": {
            "Bridge": "",
            "SandboxID": "707c66b726b25c80abfebb1712d3bb0ae588dd77c996013bb528de7ac061edd4",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {
                "15671/tcp": null,
                "15672/tcp": null,
                "25672/tcp": null,
                "4369/tcp": null,
                "5671/tcp": null,
                "5672/tcp": null
            },
            "SandboxKey": "/var/run/docker/netns/707c66b726b2",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "6e5ba9a4596967d98def608e18c9fd925a6ce036a84cd9d616f9f35d561ce68d",
            "Gateway": "172.17.0.1",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "38f30e8dcf669b9419be3a03f1f296e0bed71d970516c4a1e581d37772bd1b55",
                    "EndpointID": "6e5ba9a4596967d98def608e18c9fd925a6ce036a84cd9d616f9f35d561ce68d",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }
        }

所以我在这里错过了什么不能让我访问 http://127.0.0.1:15672 上的 Web 管理界面?虽然我可以看到服务器正在 172.17.0.2 上运行,但显然不在我的网络上。

最佳答案

所以我终于明白了自己的愚蠢:

我在命令的结尾 添加了端口,即:

docker run -d --hostname my-rabbit  --name some-rabbit rabbitmq:3-management -p 15672:15672 -p 5672:5672

而不是容器的实际名称等之前:

docker run -d --hostname my-rabbit -p 15672:15672 -p 5672:5672 --name some-rabbit rabbitmq:3-management 

关于docker - 无法在 Docker for Windows 上访问 RabbitMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51171210/

相关文章:

php - 将消息 TTL 设置为一小时 RabbitMQ

docker - 启动后台 apache/mysql docker 容器的奇怪方式

ssl - RabbitMQ - Tls 连接 - Golang

docker - 使用Nginx和Dockerize flask应用程序进行Python应用程序部署

docker - 如果暴露Dockerfile中的端口不生效怎么办?

rabbitmq - RabbitMQ 中的磁盘空间问题

rabbitmq - 为什么我在重新排队时从 RabbitMQ 收到相同的消息?

rabbitmq - RabbitMQ监控用户需要分配的权限

docker - 如何安装和运行 eager/dashboards

docker - 我尝试构建一个使用 alpine linux 图像并打印 "Hello StackOverflow!"的简单图像。这里有什么问题呢?