Frequently, I need to set up lab environment and push/pull data from/to a SQL Server db, but I didn’t want to use an external one, but my computer (to work on the go), nor I didn’t feel like to install a full heavy SQL Server installation (including its required tons of components), so lately I’ve been testing SQL Server 2017 with Docker, and results were more spectaculars than I thought in the beginning.
This is a brief introduction on how to accomplish this (very very easy and clean); surely you can imagine applications for your daily work.
1.Hyper-V: As Docker images run over Windows Containers, I needed to turn Hyper-V feature on, all available settings. After reset, I was able to go to next step.
2.Install Docker (Requires Microsoft Windows 10 Professional or Enterprise 64-bit). After that, I restarted my computer again.
Docker was now started properly:
3.Configuring Docker settings. For SQL Server to run specifically, I needed to touch some settings: sharing my c: drive to save image changes and increase RAM Memory up to 4GB for SQL Server to start.
4.Getting SQL Server 2017 for linux image. Once Docker is running, I pulled down SQL Server 2017 on linux image.
docker pull microsoft/mssql-server-linux:2017-latest
Checked that new image is available for Docker to run, started it, and checked again from Docker that everything is running fine:
docker images docker run -e "ACCEPT EULA=Y" -e "MSSQL SA PASSWORD=Pa$$w0rd" --name "sql01" -p 1433:1433 -v sql01data:/var/opt/mssql -d microsoft/mssql-server-linux:2017-latest docker ps -a
Then, used SQL Operations Studio to test everything is OK (if you want some details about this, just check this post)