Celery: передача переменной Docker через CMD в Dockerfile - PullRequest
0 голосов
/ 18 июня 2019

Запуск Docker не запустит 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 для экземпляра сельдерея, как это происходит при запуске в терминале.

1 Ответ

1 голос
/ 18 июня 2019

Это потому, что uuidgen не существует на образе докера.

...