For me, Docker is more just containerizing/sandboxing applications from each other. Nginx is great for serving static sites, but Apache2 can do better with dynamic sites when caching is setup properly. The problem is that you need multiple VMs or bare metal units to run them both nicely (or some masterful network routing hardware and setup).
Docker lets me put a service that has dependencies that don’t play nice with the dependencies of another service without having to log in and update 5 different VMs (I used to do this). Now I just have one machine running all of my dockerized services.
Furthermore, because Docker containers are pre-built and configured, I can download load a docker and setup how it talks to the world in minutes, as well as update a dockerized app very quickly. For example, I backed up my MailCow server and updated it within 20 minutes (I have multiple multi-gig email accounts on my instance) and none of my other services were affected.