Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Running a Docker SQL Server Linux Container in Windows 10

DZone's Guide to

Running a Docker SQL Server Linux Container in Windows 10

Running SQL Server on Linux is great for testing. There's no reason that functionality shouldn't be available to Windows users either.

· Database Zone
Free Resource

Running out of memory? Learn how Redis Enterprise enables large dataset analysis with the highest throughput and lowest latency while reducing costs over 75%! 

Microsoft is making a huge effort to bring SQL Server 2016 to Linux. Back in the summer, during the Dublin 2016 SQL Saturday #501, Mark Souza presented the SQL Server history. One of the major features is the ability to run SQL Sever 2016 on Linux.

Since then I added on my TODO list a simple task — test SQL Server in Linux. The best way to do it is using a Docker container. Plus, since the last time that I played with Docker in Windows, they've begun to run on Hyper-V instead of VirtualBox. For me, this is a huge improvement in the product, as we do not need several virtualization technologies on my development machine.

After installing the latest version of Docker (at the time of this post is 1.12.5), I start to read the notes on how to run the SQL Server Docker container. The first thing that jumped was this instruction:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 -v HOSTDIRECTORY:/var/opt/mssql -d microsoft/mssql-server-linux


Especially the port assignment, since I’ve got SQL Server installed on my development machine using the standard port 1433. I’ve modified the instruction to be:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' -p 7000:1433 -v C:\Temp\Docker\mssql:/var/opt/mssql -d microsoft/mssql-server-linux


Where I assigned the public port 7000 to the container port 1433 (SQL Server default), and the container will persist the files in my file system at C:\Temp\Docker\mssql.

Opening SQL Server Management Studio, I can connect using my credentials:

001


After connecting, just run the famous command:

SELECT @@VERSION


And get the results:

002

I’ve played around for a few hours, and it is a good candidate to start the test for a production environment. I’ve tried a few applications and all of them worked without any problem. Good work SQL team, keep them going!

Running out of memory? Never run out of memory with Redis Enterprise databaseStart your free trial today.

Topics:
docker ,sql server ,linux ,database ,windows 10 ,tutorial

Published at DZone with permission of João Rosa, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}