Py学习  »  MQ

Rabbitmq-端口5672上的Docker连接被拒绝

Lemmy Killmister • 4 年前 • 1559 次点击  

我有一个用Go编写的web服务器,它与Rabbitmq和Mongodb交互。当我在没有容器的计算机上运行所有这些服务器时(rabbitmq url: amqp://guest:guest@localhost:5672 )它工作得很好。

现在我试图在一个单独的容器中运行所有这些服务。这是我的作曲文件

version: '3'
services:
  rabbitmq:
    image: rabbitmq
    container_name: rabbitmq
    ports:
      - 5672:5672
  mongodb:
    image: mongo
    container_name: mongodb
    ports:
      - 27017:27017
  web:
    build: .
    image: palash2504/collect
    container_name: collect-server
    restart: on-failure
    ports:
      - 3000:3000
    depends_on:
      - rabbitmq
      - mongodb
    links: ["rabbitmq", "mongodb"]

networks:
  default:
    external:
      name: collect-net

这是我的服务器停靠文件

FROM golang

ENV GO111MODULE=on


WORKDIR /app

COPY go.mod .
COPY go.sum .

RUN go mod download

COPY . .

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

EXPOSE 3000


ENTRYPOINT ["/app/social-cops-assignment"]

我的服务器似乎无法连接到rabbitmq。这是我运行时收到的日志消息 docker compose up 我配置中的rabbitmq url是 amqp://guest:guest@rabbitmq:5672 (由于容器名是rabbitmq,我将localhost替换为rabbitmq,以便我的服务器能够找到rabbitmq容器)

collect-server | 2019/03/10 08:50:51 Failed to connect to AMQP compatible broker at: amqp://guest:guest@rabbitmq:5672/, with errror: dial tcp 172.24.0.3:5672: connect: connection refused

但是rabbitmq似乎已经准备好接受连接。这是rabbitmq日志的最后两行 docker-compose up

rabbitmq    | 2019-03-10 08:50:55.164 [info] <0.489.0> accepting AMQP connection <0.489.0> (172.24.0.4:49784 -> 172.24.0.3:5672)
rabbitmq    | 2019-03-10 08:50:55.205 [info] <0.489.0> connection <0.489.0> (172.24.0.4:49784 -> 172.24.0.3:5672): user 'guest' authenticated and granted access to vhost '/'

我是docker networking的新手,我不知道我做错了什么?是我正在使用的rabbitmq地址,还是我需要一些关于rabbitmq的额外配置,或者公开一些端口?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50132
 
1559 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Boris van Katwijk
Reply   •   1 楼
Boris van Katwijk    5 年前

当定位服务时,不要附加端口。使用 rabbitmq ,不是 rabbitmq:5672 .

我已经在这里回答了你的问题: How to connect to rabbitmq container from the application server container

所有的docker网络配置(在上述修复之后)看起来都很好。其余的错误可能是由于与源代码和/或身份验证数据/设置相关的身份验证问题。