0

我正在尝试在一个单独的 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)

通过从中删除 celery 服务docker-compose.yamldocker exec -it backend_1 celery -A proj -l infodocker-compose up -d --build. 如何在 内复制此手动过程的功能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/

4

1 回答 1

0

我发现问题是我的 celery 服务无法解析 SQL 主机。这是因为我的 SQL 主机是在 .env.dev 中定义的,芹菜服务无法访问。我添加了

env_file:
      - ./.env.dev

到芹菜服务,一切都按预期工作。

于 2020-02-13T19:23:30.987 回答