docker – 撰写和优雅芹菜关机

我一直想知道和寻找这个解决scheme,我没有find任何。

我在一个用docker构build的容器中运行芹菜。 我的容器是这样configuration的:

celery: build: . container_name: cl01 env_file: ./config/variables.env entrypoint: - /celery-entrypoint.sh volumes: - ./django:/django depends_on: - web - db - redis stop_grace_period: 1m 

我的入口脚本如下所示:

 #!/bin/sh # Wait for django sleep 10 su -m dockeruser -c "celery -A myapp worker -l INFO" 

现在,如果我运行docker-compose stop ,我想有一个温暖(优雅)的关机,给予芹菜提供的1分钟( stop_grace_period )来完成已经开始的任务。 然而, docker-compose stop似乎直接杀死芹菜。 芹菜也应该logging下来,要求它优雅地closures,但是除了突然停止我的任务日志之外,我什么都看不到。

我做错了什么,或者我需要改变什么才能使芹菜优雅地closures?

编辑:下面提供的关于提供--timeout docker-compose stop--timeout参数的build议不能解决我的问题。

通过文档

 Usage: stop [options] [SERVICE...] Options: -t, --timeout TIMEOUT Specify a shutdown timeout in seconds (default: 10). 

尝试将超时设置为至less60秒。