Docker run不会使用此命令启动conatiner。
celery -A proj worker -Ofair --concurrency=600 --without-gossip --time-limit=500 --pool=gevent -l info -n $(uuidgen -r)
.
但是,它将从以下命令开始:
celery -A proj worker -Ofair --concurrency=600 --without-gossip --time-limit=500 --pool=gevent -l info -n celery1
这是在 Ubuntu 18.04 LTS 上。如果我在终端中运行该命令,芹菜将毫无问题地启动。
Dockerfile
#Download base image ubuntu 16.04
FROM python:3.6-slim
COPY . .
RUN pip install -r requirements.txt
EXPOSE 80 443 6379 9200 9300
CMD celery -A proj worker -Ofair --concurrency=600 --without-gossip --time-limit=500 --pool=gevent -l info -n $(uuidgen -r)``
我希望这会为芹菜实例生成一个 uuid,就像它在终端中运行时一样。
这是因为 uuidgen 在 docker 镜像中不存在。