Q:

Testing with docker containers instead of virtual machines

I have a question regarding using docker for testing. 
Our main solution is a client/server solution. However, the same server is also being used by our web applications. We know that our web applications, server and SQL Database can run in docker container, as it is today.
All our customers are currently running our web applications and server on either physical servers, or virtual machines. 
From my knowledge that is obtained from the docker website, docker courses and the following stackoverflow post, there is a difference between a Virtual Machine and a Docker container. 
But could there be such a big difference that our automated testing would have a different output or unable to catch errors in a docker container compared to a virtual machine?
From my understanding the main difference is that containers runs on host os, and VM's runs on its own instance of a OS. So, from my view the difference is not big enough to change the output of our testing in anyway?
Setup
Our container setup would be the exact same as it is in our VM testing environment

MS-SQL Server container
Server container (Windows container)
IIS Container

A:

The differences between VM and container is usually visible from the management perspective e.g. different resource requirements or security concerns. From the client perspective there should be no difference. If the aplication uses well defined network interfaces e.g. Java has JDBC for communicating with the database the change from VM to container should be transparent, just like switching from one VM to another VM.
If the automated testing has different outcome on VM and container it means that either the application depends on something specific in the VM or there is an issue with the test suite. One way or another it should be debugged.

