【发布时间】:2020-05-27 08:39:56
【问题描述】:
我正在尝试在一个单独的 docker 容器中与 django/redis docker 设置一起运行 celery。
当我运行docker-compose up -d --build 时,我通过docker-compose logs --tail=0 --follow 的日志显示celery_1 容器反复向控制台发送垃圾邮件
Usage: nc [OPTIONS] HOST PORT - connect
nc [OPTIONS] -l -p PORT [HOST] [PORT] - listen
-e PROG Run PROG after connect (must be last)
-l Listen mode, for inbound connects
-lk With -e, provides persistent server
-p PORT Local port
-s ADDR Local address
-w SEC Timeout for connects and final net reads
-i SEC Delay interval for lines sent
-n Don't do DNS resolution
-u UDP mode
-v Verbose
-o FILE Hex dump traffic
-z Zero-I/O mode (scanning)
我可以通过从docker-compose.yaml 中删除 celery 服务并在 docker-compose up -d --build 之后手动运行 docker exec -it backend_1 celery -A proj -l info 来使 celery 正常工作。如何在docker-compose.yaml 中复制此手动过程的功能?
我的docker-compose.yaml 看起来像
version: '3.7'
services:
backend:
build: ./backend
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./backend/app/:/usr/src/app/
ports:
- 8000:8000
env_file:
- ./.env.dev
depends_on:
- db
- redis
links:
- db:db
celery:
build: ./backend
command: celery -A proj worker -l info
volumes:
- ./backend/app/:/usr/src/app/
depends_on:
- db
- redis
redis:
image: redis:5.0.6-alpine
command: redis-server
expose:
- "6379"
db:
image: postgres:12.0-alpine
ports:
- 5432:5432
volumes:
- /tmp/postgres_data:/var/lib/postgresql/data/
【问题讨论】:
标签: django docker docker-compose celery django-redis