I want to introduce testing into a huge legacy system with a web API. So because of the lack of features in the framework(symfony 2) I decided to write Postman tests to test the system from the outside. The problem is the huge database should be in place for the tests to work and it needs to be at a certain state for each test(it can't be reused by all tests because they might alter the data). From my tests using a sql dp to restore takes around 40 seconds which is not acceptable for each test.
Now I am in need of a solution or just give up on testing which I do not want to do.
One solution I have come up with but need verification that it works is to:

1. Bring up a MySQL docker container and use a sql dump to get the database to initial state.
2. Copy the MySQL data volume to someplace safe called initdata.
3. Copy the initdata to a location used as MySQL data volume.
4. Run the test
5. Delete container and modified data volume.
6. Reapeat from step 2 for each test.

This is the general idea but I need to know whether this works with MySQL docker and whether copying volumes is actually efficient and fast enough. Or maybe any other sane solution for this situation.