Running DB migrations in continous integration pipeline

Hi,

Im looking to incorporate docker as part of my CI pipeline and one perfect usecase would be for running database migrations and tests against a docker container like so:

Right now i have a static database and ofcource if two developers check in conflicting migrations we have a problem.

build source → spin up a sqlserver container → run migrations → run tests and then tear it down again.

Now my problem is that i want to do this for multiple parallell builds, and obviously i cant bind multiple containers to the same port on my host so i could use some advice on how i could possibly solve this.

Im using GitLab to trigger build on commit and build on mergerequest jobs in Jenkins.

Thanks in advance
/Robert