I think docker compose is a great tool. It is a very portable and efficient way to run a modern web application. Docker provides an example for Django (and rails), but it is more of a development sandbox. I wanted to create a production ready, standard Django app using docker compose.
It uses the following stack:
- Django running on gunicorn
- Celery worker
- Postgres database
- Nginx frontend server
I created a sample project if you want the full example.
docker compose is not deemed production ready. There are some limitations, mainly related to scalability. But I think it is fine for small applications. It is obviously much better to understand how docker compose works. more info on docker’s website.
The big news is tutum has been acquired by Docker. Tutum is a could service to manage and deploy Docker applications. It uses a stack descriptor, which is compatible with docker-compose yaml format. So you can use my example project to deploy and mange your app with tutum.
Please go on github if you want to try that out https://github.com/damsonn/django-docker-compose