I'm currently working at a small company where we've had a lot of issues being on the same page with entity framework migrations and local databases. I want to start incorporating containers in hopes of standardizing everyone's development environment. Ideally, I'd like a disposable database that can be modeled using Entity Framework code first, seed data into it, then disposed of once the testing is done. What resources are there to help get me started and what other things should I know about standardizing the development environment.
Docker is an awesome tool for creating a database, seeding data into it, and disposing of it.
For an example check out Microsoft's SQL Server with Docker. The following would pull and run a sql server 2017 instance:
After running this you now have a developer ready SQL instance that you can then connect to SQL Management Studio (or any other GUI management tool), or you can even connect via the command line.
docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=" -p 1433:1433 --name sql1-d mcr.microsoft.com/mssql/server:2017-latest
If you are not using SQL you can run a container for the desired database type (check out the options on Dockerhub).
Once you have your database up and running, run the scripts to set it up, seed the data, and test without worrying about messing up your production database.