Сельдерей не работает время от времени в docker - PullRequest
0 голосов
/ 20 января 2020

Я схожу с ума по этому поводу, служба сельдерея в моем docker -compose.yml просто не поднимает задачи (иногда). Время от времени это работает, хотя

Dockerfile:

FROM python:3.6
RUN apt-get update

RUN mkdir /web_back
WORKDIR /web_back

COPY web/requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt


COPY web/ .

docker -compose.yml (Извлечено несколько служб для понимания)

version: '3'
services:

  web_serv:
    restart: always
    build: .
    container_name: web_back_01
    env_file:
      - ./envs/web_back_01.env
    volumes:
      - ./web/:/web_back
    depends_on:
      - web_postgres
    expose:
      - 8282
    extra_hosts:
      - "dockerhost:104.10.4.11"
    command: bash -c "./initiate.sh"

  service_A:
    restart: always
    build: ../../web-service-A/A/
    container_name: web_back_service_a_01
    volumes:
      - ../../web-service-A/A.:/web-service-A
    depends_on:
      - web
    ports:
      - '5100:5100'
    command: bash -c "python server.py"

  service_B:
    restart: always
    build: ../../web-service-B/B/
    container_name: web_back_service_b_01
    volumes:
      - ../../web-service-B/B.:/web-service-B
    depends_on:
      - web
    ports:
      - '5200:5200'
    command: bash -c "python server.py"

  web_postgres:
    restart: always
    build: ./postgres
    container_name: web_postgres_01
    #    restart: unless-stopped
    ports:
      - "5433:5432"
    environment:   # will be used by the init script
      LC_ALL: C.UTF-8
      POSTGRES_USER: web
      POSTGRES_PASSWORD: web
      POSTGRES_DB: web
    volumes:
      - pgdata:/var/lib/postgresql/data/


  nginx:
    restart: always
    build: ./nginx/
    container_name: web_nginx_01
    volumes:
      - ./nginx/:/etc/nginx/conf.d
      - ./logs/:/code/logs
      - ./web/static/:/static_cdn/
      - ./web/media/:/media_cdn/
    ports:
      - "80:80"
    links:
      - web_serv
  redis:
    restart: always
    container_name: web_redis_01
    ports:
      - "6379:6379"
    links:
      - web_serv
    image: redis
  celery:
    build: .
    volumes:
      - ./web/:/web_back
    container_name: web_celery_01
    command: celery -A web worker -l info
    links:
      - redis
    depends_on:
      - redis
volumes:
  pgdata:
  media:
  static:

settings.py

CELERY_BROKER_URL = 'redis://redis:6379'
CELERY_RESULT_BACKEND = 'redis://redis:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_SERIALIZER = 'json'

Обратите внимание на service_A и service_B, это две службы, которые иногда не запускаются. Любая помощь в понимании странного поведения будет очень полезна! Спасибо

...