【问题标题】:Can't send notification minio to rabbitMQ (docker-compose)无法向rabbitMQ(docker-compose)发送通知minio
【发布时间】:2020-04-11 19:16:12
【问题描述】:

场景:

我使用 docker compose,但无法将通知 minio 发送到 rabbitMQ 我有以下 rabbitmq.yml

version: '2'
services:
    rabbitmq:
        image: rabbitmq:3-management
        ports:
            # the management port
            - 5672:5672
            - 15672:15672
            # the stomp port
            - 61613:61613

还有以下minio.yml

version: '2'

services:
  minio:
    image: 'bitnami/minio:latest'
    ports:
      - '9000:9000'
    environment:
      - MINIO_NOTIFY_AMQP_ENABLE=on   
      - MINIO_NOTIFY_AMQP_URL='amqp://guest:guest@192.168.1.2:15672'

    volumes:
      - 'minio_data:/data'

volumes:
  minio_data:
    driver: local

问题是:

当我在minio 服务器中上传新文件时,我在rabbitMQ 中没有收到通知。

我已经尝试将MINIO_NOTIFY_AMQP_URL 参数中的 IP 更改为 127.0.0.1 但没有结果。

有没有办法配置我的 docker-compose 文件(minio.ymlrabbit.yml)。

【问题讨论】:

  • 我不知道MINIO,但不应该是amqp://guest:guest@192.168.1.2:5672。端口15672是web管理控制台,端口5672是rabbitmq监听。

标签: docker docker-compose rabbitmq amqp minio


【解决方案1】:

您可能应该使用 docker 网络来连接这两个服务。这可以通过为这两个服务指定 network 来完成。

然后您可以使用服务名称(在本例中为 rabbitmq)作为主机地址:

MINIO_NOTIFY_AMQP_URL=amqp://guest:guest@rabbitmq:5672

还要注意端口应该是5672,正如@frank-nielsen 推荐的那样。

version: '2'

services:
  minio:
    image: 'bitnami/minio:latest'
    ports:
      - '9000:9000'
    network:
      - backend
    environment:
      - MINIO_NOTIFY_AMQP_ENABLE=on   
      - MINIO_NOTIFY_AMQP_URL='amqp://guest:guest@rabbitmq:5672'

    volumes:
      - 'minio_data:/data'

network:
  backend:
    external: true

volumes:
  minio_data:
    driver: local

对于你的 rabbitmq 配置也是如此。

您必须使用

创建网络
docker network create backend

【讨论】:

  • 我已经正确设置了这些,但minio仍然无法拨打tcp连接。 ‍‍‍minio1_1 |错误:拨打 tcp 172.18.0.2:5672:连接:连接被拒绝 (*net.OpError)‍‍‍
  • 如何运行rabbitmq?它也在docker中运行吗?确保它们共享同一个网络。
  • 它们可以在同一个 docker netwok 中访问,我也可以使用它们的主机名 ping 2 容器,但是当 rabbitmq 未准备好时,minio 在第一次尝试时失败,并且稍后当 rabbitmq 启动时它不会再次尝试。
  • 好的,所以问题不是minio连接不上IP,而是连接的时候rabbitmq还没准备好。为避免这种情况,您可以将depends_on 与rabbitmq 的健康检查结合使用:docs.docker.com/compose/compose-file/compose-file-v3/…
  • 至于健康检查,你可能想试试这个:devops.stackexchange.com/questions/12092/…
猜你喜欢
  • 2022-11-09
  • 2013-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多