I am late to the party with this post due to other projects external link and work external link taking up nearly all of my time, but its one I have been to write for a while.

Who would have though that after I first wrote about Docker back in early 2014;

Dockerexternal link

that I would be writting a post like this …

Microsoft SQL Server 2016 on a Mac, using Docker

Given that I don’t use Windows much I thought it would be interesting to see how simple it would be for me to install and use the latest version of MS SQL.

First of all you need to ensure that your Docker installation has at least 4GB of RAM assigned, as I am running Docker for Mac, all that I need to do is open up the Preferences and change the memory to 4GB;

Once you have done that it turns out getting things up and running is really simple, all you have to do is pull the image from the Docker Hub by running;

docker pull microsoft/mssql-server-linux

and then launch it by running the following command;

docker run -itd \
 --name mssql \
 -e 'ACCEPT_EULA=Y' \
 -e 'SA_PASSWORD=P@$$w0rd!123' \
 -p 1433:1433 \
 microsoft/mssql-server-linux

Thats it, no messing about, just accept the end user agreement and set a secure password.

Great, now what? Well Microsoft have helpfully provided a command line client you can install on macOS by running;

npm install -g sql-cli

If you don’t have Node.js install you can install that using Homebrew;

brew install npm

Once installed you should be able to connect to your MSSQL container by running the following;

mssql -s localhost -u sa -p 'P@$$w0rd!123' -e

Its not just MS SQL, there is .NET Core as well

Its not just Microsoft SQL server, they have been hard at work getting .NET core over to Linux as well, I can remember the days when to get .net running on Linux you had to use something like the long dead Chill!soft ASP or Mono.

Now it is as simple as running;

docker run -it microsoft/dotnet:latest

This will download and launch the latest .NET core container and switch to a session, from there you can run;

mkdir hwapp
cd hwapp
dotnet new
dotnet restore
dotnet run

To run a simple “Hello World”

Visual Studio on macOS and Linux

Add this this that you can also get an open source version VisualStudio external link on macOS & Linux which is actually really stable and not that different from Atom & Sublime Text and all of a sudden building apps in what was once a very (and I mean very) much a traditional Windows only domain is now available to all.

Now, I wouldn’t say that MSSQL is production ready, but Visual Studio Code is extremely stable and it was recently announced that the open source .NET core powers C# fucntions in AWS Lambda external link .

Following it becoming a platinum member of the Linux Foundation external link last month I think Microsoft is going to make 2017 a really interesting year for open source.

I guess that …

… after all.