相关疑难解决方法(0)

无法使用docker-compose启动Celery

我在Celery worker和Redis上安装了Flask应用程序,并且在本地计算机上运行时按预期正常工作。然后,我尝试对应用程序进行Dockerize。当我尝试构建/启动服务(例如flask app,Celery和Redis)时,使用sudo docker-compose up除Celery之外的所有服务,并且显示错误为

ImportError:没有名为“ my_celery”的模块

但是,相同的代码在本地计算机上工作没有任何错误。有人可以提出解决方案吗?

Docker文件

FROM python:3.5-slim
WORKDIR celery_sample
ADD . /celery_sample
RUN pip install -r requirements.txt
EXPOSE 8000
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

version: "3"
services:

  web:
    build:
      context: .
      dockerfile: Dockerfile
    command: "python my_celery.py"
    ports:
      - "8000:8000"
    networks:
      - webnet
    volumes:
      - .:/celery_sample

  redis:
    image: redis
    networks:
      - webnet


  celery:
    image: celery:3.1.25
    command: "celery worker -A my_celery -l INFO"
    volumes:
      - .:/celery_sample
    networks:
      - webnet

networks:
  webnet:
Run Code Online (Sandbox Code Playgroud)

requirements.txt

flask==0.10
redis
requests==2.11.1
celery==3.1.25
Run Code Online (Sandbox Code Playgroud)

my_celery.py(请忽略逻辑)

from flask …
Run Code Online (Sandbox Code Playgroud)

celery flask docker dockerfile docker-compose

4
推荐指数
1
解决办法
1421
查看次数

标签 统计

celery ×1

docker ×1

docker-compose ×1

dockerfile ×1

flask ×1