下面是我docker-compose.yml文件中的代码
version: '2'
services:
postgres:
image: 'postgres:9.5'
env_file:
- '.env'
volumes:
- 'postgres:/var/lib/postgresql/data'
ports:
- '5432:5432'
redis:
image: 'redis:3.0-alpine'
command: redis-server --requirepass XXXXXXXXXXXXX
volumes:
- 'redis:/var/lib/redis/data'
ports:
- '6379:6379'
website:
build: .
command: >
gunicorn -c "python:config.gunicorn" --reload "whs.app:create_app()"
env_file:
- '.env'
volumes:
- '.:/whs'
ports:
- '8000:8000'
celery:
build:
command: celery worker -B -l info -A whs.blueprints.contact.tasks
env_file:
- '.env'
volumes:
- '.:/whs'
volumes:
postgres:
redis:
celery.service unit文件中的代码
[Unit]
Description=Run %p
Requires=docker.service redis.service
After=docker.service redis.service
[Service]
Restart=always
ExecStartPre=-/usr/bin/docker kill %p
ExecStartPre=-/usr/bin/docker rm -f %p
ExecStart=/usr/bin/docker run --rm --name %p \
--network whs \
-v /var/lib/%p/data:/data %p:4.0.2
ExecStop=/usr/bin/docker stop %p
[Install]
WantedBy=multi-user.target
不确定在何处包含此命令:cellery worker-b-l info-a whs.blueprints.contact.tasks,volumes:在单位文件中
上面的单位文件运行良好,但celery 没有连接到redis,因为它无法更新默认的broker\u url环境变量。下面是它试图连接的地方
1条答案
按热度按时间os8fio9y1#
---- celery@2435cb584127 v4.0.2(latentcall)
下面的代码在我的app.py应该更新celery 配置
当在我的本地系统上使用docker compose up运行时,应用程序运行良好。唯一不同的是,远程服务器对这些服务使用systemd单元文件。
如果有人能帮忙的话,那将是一个很大的帮助。谢谢。。