Docker is not a virtualization platform. It is a containerization platform. It just isolates applications from each other. It might event fail to run the image that is built for one version of Linux within another version of Linux (for example 64-bit vs 32 bit).
So if you need to test the back-end there is no other ways except virtualization. You can either use VMs that is to be hosted on your equipment or use cloud resources from providers like Amazon or Azure.
If you need to test front-end (for example you need to test your web app simulating users with different OSs or different browsers), you might be satisfied with the services like GridLastic.