Celery 在 Docker 容器中运行时似乎没有写入任何日志文件。当在 Docker 外部运行时,相同的命令工作正常。
在我的 docker-compose.yml 文件中:
celery_main:
build:
context: .
dockerfile: Dockerfile
command: bash -c "sleep 20 && celery -A my_project worker -n 1 -Q celery -c 10 -l info -E --logfile=celery_main.log"
links:
- db
- redis
- web
depends_on:
- db
- redis
我以普通用户的身份运行芹菜。当我使用 bash 登录容器内的工作目录时,我可以创建文件,所以我不明白是什么阻止了 Celery 创建日志文件?我像往常一样将日志记录打印到 STDOUT。
日志文件正在容器内根据您的撰写文件生成。应考虑装入卷以使其在主机系统上可用。
或者,所有 docker 容器都会在/var/lib/docker/containers//-json 中生成日志文件.log
您也可以直接从那里获取日志。