社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  MQ

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

Lemmy Killmister • 5 年前 • 1751 次点击  

我有一个用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
 
1751 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Boris van Katwijk
Reply   •   1 楼
Boris van Katwijk    6 年前

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

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

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