Итак, у меня есть Dockerfile
, где я хочу сохранить свой scrapyd
сервер.Но, поскольку я использую scrapyd-deploy
для развертывания моего Scrapy
проекта, мне нужно дождаться запуска сервера scrapyd
перед развертыванием яиц.Я не уверен, как это сделать с Docker
, поскольку, если я использую scrapyd
в качестве точки входа, он «крадет» терминал, и я не могу запустить scrapyd-deploy
в последовательности.
На данный момент у меня есть кое-что, что работает, но это выглядит действительно, действительно "для меня", и мне это не нравится.Как правильно это сделать?
FROM python:3.6
SHELL [ "/bin/bash", "-c" ]
# here comes a lot of configuration, copying files, installing stuff, etc ...
# important part that I think is hacky comes at the end:
# the command below redirect scrapyd streams to /dev/null, send it to the background, deploy the eggs, than run a dummy command to keep the container alive
CMD scrapyd >& /dev/null & cd ali && scrapyd-deploy && tail -f /dev/null
Есть идеи или предложения?