my application uses channels, celery and cache. For all of them, it’s probably not right to create single docker container for redis, then how is it better to set up containers?
For cache, I’m thinking of making a separate memcached container, is it OK to leave a single redis container for both: channels and celery. Or it could cause “problems” in communication for them in production?
Maybe there is some article or something, I can not find much info related to this things. Perhaps anyone has experience of creating web app using channels celery (and cache), how did you configure docker for this?
We run separate containers for every process. That means we have different containers for each of Daphne, uWSGI, and each of the background worker processes.
We have used docker containers in the past for nginx and redis, but we now take the approach that they should run as native processes. That means that we run single instances of each of those natively, and they’re shared among all processes running on a server.
Redis supports multiple databases (“dbnum”), so you can segregate usage among projects by using different databases.