使用芹菜和码头工人开发



我注意到在容器中使用芹菜开发,如下所示:

  celeryworker:
    build: .
    user: django
    command: celery -A project.celery worker -Q project -l DEBUG
    links:
     - redis
     - postgres
    depends_on:
      - redis
      - postgres
    env_file: .env
    environment:
      DJANGO_SETTINGS_MODULE: config.settings.celery

如果我想对某些芹菜任务进行一些更改,则必须完全重建 docker 映像才能进行最新更改。

所以我尝试了:

docker-compose -f celery.yml down
docker-compose -f celery.yml up

然后,没有任何变化:

docker-compose -f celery.yml down
docker-compsoe -f celery.yml build
docker-compose -f celery.yml up

我有新的变化。

这是这样做的方法吗? 对我来说似乎很慢,一直在重建映像,那么最好有当地的芹菜外站码头工人容器吗?

.(即工作副本(作为卷挂载到正在开发的容器中。

这样,您就可以使用工作目录中的新代码,而无需重建(除非,例如,您要更改依赖项或其他需要重建的内容(。

这个想法在这里由 Heroku 解释,强调我的:

version: '2'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    env_file: .env
    depends_on:
      - db
    volumes:
      - ./webapp:/opt/webapp  # <--- Whatever code your Celery workers need should be here
  db:
    image: postgres:latest
    ports:
      - "5432:5432"
  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

相关内容

  • 没有找到相关文章

最新更新