我尝试使用docker compose合并我的服务,但是我的celery和celery beat服务无法与我的rabbitmq服务连接。
rabbitmq:
container_name: "rabbitmq"
image: rabbitmq:3-management
ports:
- 15672:15672
- 5672:5672
environment:
- RABBITMQ_DEFAULT_USER=guest
- RABBITMQ_DEFAULT_PASS=guest
depends_on:
- server
volumes:
- rabbitmq:/var/lib/rabbitmq
这里是我的celery 工人和celery 节拍服务在docker-compose.yml
celery_worker:
container_name: celery-worker
build: .
command: celery -A tasks worker -E --loglevel=INFO
environment:
host_server: postgresqldb
db_server_port: 5432
database_name: db
db_username: user
db_password: password
ssl_mode: prefer
networks:
- postgresqlnet
depends_on:
- rabbitmq
celery_beat:
container_name: celery-beat
build: .
command: celery -A tasks beat
environment:
- host_server=postgresqldb
- db_server_port=5432
- database_name=db
- db_username=user
- db_password=password
- ssl_mode=prefer
networks:
- postgresqlnet
depends_on:
- rabbitmq
我也有一个celeryconfig.py经纪人网址存储。它的内容如下
broker_url = "amqp://guest:guest@localhost:5672//"
当我运行docker composite up时,我从celery 和celery 节拍中得到这个输出。
celery-worker | [2023-02-03 14:24:43,223: ERROR/MainProcess] consumer: Cannot connect to amqp://guest:**@127.0.0.1:5672//: [Errno 111] Connection refused.
celery-worker | Trying again in 32.00 seconds... (16/100)
celery-worker |
celery-beat | [2023-02-03 14:25:10,058: ERROR/MainProcess] beat: Connection error: [Errno 111] Connection refused. Trying again in 32.0 seconds...
1条答案
按热度按时间cczfrluj1#
我现在意识到我做错了什么。首先我需要使用Docker Networking连接所有三个服务,然后在我的Celeryconfig文件中使用“RabbitMQ”作为我的主机名。