为了避免大家机毁人亡,徒耗精力搜索到一堆没用的重复旧文,我决定写下这篇关于docker容器化的celery 无法连接rabbitmq的文章,以增强互联网的技术氛围和工程师的原创精神

worker_1  | [2023-01-07 05:52:27,995: ERROR/MainProcess] consumer: Cannot connect to amqp://admin:**@127.0.0.1:5672//: [Errno 111] Connection refused.
worker_1  | Trying again in 4.00 seconds... (2/100)
rabbitmq  |   Starting broker... completed with 3 plugins.

Hmm...rabbitmq运行是良好的,浏览器正常访问 localhost:15672

尝试解决solution 1

有人说要创建conf.d文件并且添加NODE_IP_ADDRESS=127.0.0.7,然并卵

docker cp  containerId:/etc/rabbitmq/conf.d/10-defaults.conf ./
# add this line into 10-defaults.conf
NODE_IP_ADDRESS=127.0.0.1

尝试解决 solution 2

有人说要暴露 5672端口,然并卵

environment:RABBITMQ_DEFAULT_USER: adminRABBITMQ_DEFAULT_PASS: admin
expose:- 5672

尝试解决 solution 3

有人说要加上links,然并卵

 worker:...links:- db- rabbitmqdepends_on:- rabbitmq

尝试解决 solution 4

有人说 要检查端口映射关系,可能是ports属性没有成功映射,Hmmm...看起来没问题呀,然并卵...

docker port rabbitmq15672/tcp -> 0.0.0.0:1567215672/tcp -> :::1567222/tcp -> 0.0.0.0:2222/tcp -> :::225672/tcp -> 0.0.0.0:56725672/tcp -> :::5672

docker-desktop rabbitmq show

:::15672 有人说是因为 无法识别:::15672 这样的IPV6地址,若有所思看了看,突然想到,或许是因为IPv4的原因?


ONE NIGHT SLEEP LATER...


隔天早上接着思考

为每个容器设置固定IP吧,Let's go

修复

创建了networks,然后为每个容器添加了networks属性并设定了固定IP

networks:nn:ipam: driver: defaultconfig:- subnet: "192.168.5.0/24"services:rabbitmq:image: rabbitmq:3.11-managementcontainer_name: rabbitmqhostname: rabbitenvironment:RABBITMQ_DEFAULT_USER: adminRABBITMQ_DEFAULT_PASS: adminvolumes:- ./rabbitmq:/var/lib/rabbitmq- ./conf:/etc/rabbitmqprivileged: trueports:- 15672:15672- 5672:5672- 22:22expose:- 5672networks:nn:ipv4_address: "192.168.5.4"worker:build:context: .dockerfile: Dockerfilecommand: celery -A  celery_tasks.sms.tasks worker -l infovolumes:- ./celery:/appdepends_on:- rabbitmqnetworks:nn:ipv4_address: "192.168.5.6"

It works!

终于,开心的看到了celery连接上了他的broker大哥,GG!

rabbitmq  |   Starting broker... completed with 3 plugins.
worker_1  | [2023-01-07 05:52:32,011: INFO/MainProcess] Connected to amqp://admin:**@192.168.5.4:5672//
worker_1  | [2023-01-07 05:52:32,026: INFO/MainProcess] mingle: searching for neighbors
worker_1  | [2023-01-07 05:52:33,060: INFO/MainProcess] mingle: all alone
worker_1  | [2023-01-07 05:52:33,100: INFO/MainProcess] celery@4a0189310984 ready.

network-configuration-reference 官方关于network的文档

解决:consumer: Cannot connect to amqp://admin:**@127.0.0.1:5672//: [Errno 111] Connection refused.相关推荐

  1. Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused(MongoDB启动异常)

    2019独角兽企业重金招聘Python工程师标准>>> 以下是解决方案地址: http://blog.csdn.net/liwuyang2013/article/details/50 ...

  2. Celery 提示[ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 61

    这个原因是你在celery.py中的设置问题导致的 import os from celery import Celery, platforms from .settings import baseo ...

  3. connect() failed (111: Connection refused) while connecting to upstream 解决方法

    今天修改nginx的时候遇到这个问题 页面刷新一直报502错误 最后发现是修改nginx配置的时候, 有的个地方配置错了 报错原文: 19644#19644: *8 connect() failed ...

  4. MariaDB: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 Connection refused)

    MariaDB : ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 "Connection ref ...

  5. MySql - “Can‘t connect to MySQL server on ‘127.0.0.1‘ ([Errno 61] Connection refused)“

    之前用 PyMySql 模组连结本地端的 MySQL 工作的挺顺利的,谁知道在 Mac 重开机后资料库连不上了,报错讯息如下: "Can't connect to MySQL server ...

  6. nginx报错解决connect() to unix:/tmp/php-cgi-73.sock failed (111: Connection refused

    2020/06/09 08:50:16 [error] 6608#0: *1 connect() to unix:/tmp/php-cgi-73.sock failed (111: Connectio ...

  7. mysql无法远程连接 111_如何解决远程连接mysql出现Can’t connect to MySQL server on (111 “Connection refused”)的问题...

    执行赋权的命令: MySQL>GRANT ALL PRIVILEGES ON *.*TO 'root'@'%'IDENTIFIED BY '123456'WITH GRANT OPTION;My ...

  8. socketio连接失败,nginx返回502 connect failed (111: Connection refused)问题解决

    问题现象 我们的信控平台,需要实时展示交通信号机的实时灯态(红黄绿.通行进口流向.倒计时等) 现在的信号机,大多都支持国标2007协议或者2017协议,来实现硬件设备与其他平台的通信,主要是通过soc ...

  9. nginx访问502 gateway,*1 connect() failed (111: Connection refused) while connecting to upstream

    安装好nginx,php环境后,配置虚拟主机,结果访问后就报502 gateway,查看日志文件后,显示错误如下: 2019/04/29 16:24:39 [error] 19433#19433: * ...

最新文章

  1. 黑计算机学校给的处分,学校处分通告格式
  2. NLP 实战:手把手带你搞定文本情感分析
  3. CNCC技术论坛 | 面向人工智能芯片的编程语言和编译器
  4. 5g理论速度_5G时代手机基带厂商实力比拼
  5. angularJS的controller之间如何正确的通信
  6. MybatisPlus中insert方法与insertAllColumn方法的区别
  7. CAN笔记(12) 同步
  8. pycharm出现乱码
  9. HDU2044 一只小蜜蜂...
  10. php 闭包不能序列化,php如何序列化/存储闭包(Closure)
  11. 计算机组成原理统一试卷,安阳工学院计算机组成原理试卷a
  12. 虚拟机上用U盘安装系统
  13. Producter:让产品从0到1
  14. python进行电子取证
  15. OJ 2513: 小勇学分数
  16. java随机数生成字母_java生成随机数字和字母组合
  17. OpenGL 加载DDS文件(压缩纹理)
  18. 日志收集之--将Kafka数据导入elasticsearch
  19. 汇编启蒙题--by cyl老师
  20. 微信公众号项目笔记 二

热门文章

  1. HTML连载87-完善内容区域
  2. DEV-C++调试查看变量
  3. 做人要大方包容、善解人意,凡事包容,凡事相信,凡事盼望,凡事忍耐
  4. IntelliJ IDEA 执行testng 报错Cannot find class in classpath 的解决办法
  5. 程序员养成金手指——调试造就优秀
  6. 字符串拼接onclick函数
  7. 从游戏角度看后台开发
  8. 神经网络、智能芯片、神经计算、飞行控制相关调研
  9. C#算法题目自己的解答 约德尔测试
  10. Http代理服务器—Netty版