La fonctionnalité de conteneurs vous permettra de faire tourner des conteneurs basés sur Windows.
Pour des conteneurs Linux, il existe une version (bêta) sur le site docker qui permet de prendre en charge côte à côte des containers Windows et Linux. A tenter pour une autre fois...

Pour que toute l'installation fonctionne, vous devez lancer powershell en tant qu'administrateur

Première étape : activer les composants requis

La fonctionnalité de containers et celle d'hyper-v doivent être activées.

Enable-WindowsOptionalFeature -Online -FeatureName containers -All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

Si vous préférez, vous pouvez le faire depuis l'interface graphique (ajout de fonctionnalités Windows).

Redémarrez ensuite l'ordinateur

Deuxième étape : installer docker

Téléchargez l'image docker : https://master.dockerproject.org/windows/amd64/docker-1.14.0-dev.zip et décompressez la dans Program Files. Avec powershell, cela donne :

Invoke-WebRequest "https://master.dockerproject.org/windows/amd64/docker-1.14.0-dev.zip" -OutFile "$env:TEMP\docker-1.14.0-dev.zip" -UseBasicParsing

Expand-Archive -Path "$env:TEMP\docker-1.14.0-dev.zip" -DestinationPath $env:ProgramFiles


Configurez le path pour inclure le répertoire docker :

$env:path += ";c:\program files\docker"
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Program Files\Docker", [EnvironmentVariableTarget]::Machine)

Puis enregistrez docker en tant que service, et démarrez le :

dockerd --register-service

Start-Service Docker

Troisième étape : télécharger l'image docker de SQL Server vnext

docker pull microsoft/mssql-server-windows

Cela peut être un peu long si vous n'avez qu'une pauvre bande passante...

Quatrième étape : créer le container

docker run -d --name vnext -p 1433:1433 -h vnext -e sa_password=P@ssw0rd -e ACCEPT_EULA=Y microsoft/mssql-server-windows


Quelques commandes de gestion de votre container :lister les containers existants, arrêter ou démarrer son container...

docker container ls -a
docker container stop vNext 
docker container rm vNext

Cinquième étape : s'y connecter

Il vous faut trouver l'adresse IP de votre instance SQL Server :
Sur votre machine, Docker a créé un réseau "nat", un switch virtuel et une carte réseau virtuelle qui vous permettra de communiquer entre la machine hôte et le container.
Le container SQL Server a sa propre adresse IP dans le sous-réseau nat, et une translation du port 1433 a été activée.
Identifiez l'adresse IP de votre container avec la commande :

docker container inspect vnext -f="{{.NetworkSettings.Networks.nat.IPAddress}}"

Il ne vous reste plus qu'à vous connecter avec SSMS, ceci ne fonctionnant que depuis votre machine hôte avec cette configuration réseau interne.

Ce qui est un peu trompeur, c'est que l'OS renvoyé par SQL Server est Windows 2016, alors que la plate-forme hôte est Windows 10...