PI Services

Le blog des collaborateurs de PI Services

Démarrer une instance MSSQL 2017 sous linux sur un conteneur Docker installé sous Windows

1. Objectif

L'objectif de ce blog est de démontrer comment lancer une instance MSSQL Server 2017 sous linux sur un conteneur Docker installé sous windows.

2. Installation de Docker

Télécharger la version de docker pour votre système d'exploitation depuis ce lien [https://docs.docker.com/install/#supported-platforms] . J'utilise la version de docker pour un windows 10 comme indiqué ci-dessous:

Avant d'installer Docker sous windows, assurez vous que hyper-v est installé. Docker utilisera hyper V pour monter une VM linux automatiquement pour faire tourner l'image contenant MSSQL server 2017 dans une conteneur Linux sous Windows.

Une fois l'installation terminée , lancer Docker depuis le bureau et l'icon ci-dessous apparaitra: 

Faire un clique droit puis "switch to linux containers" car l'image que nous allons faire tourner est une image linux:

On constatera que Docker a créé automatiquement une VM sous hyper-v, qui se nomme MobyLinux:

3. Téléchargement d'une image

Il existe une multitude d'image sur le portail https://hub.docker.com/ . Nous allons prendre l'image microsoft/mssql-server-linux [https://hub.docker.com/r/microsoft/mssql-server-linux/]

Pour télécharger l'image depuis powershell , tapper la commande suivante:

docker pull microsoft/mssql-server-linux

Pour afficher une image, tapper la commande suivante: 

docker image ls

On voit bien notre image microsoft/mssql-server-linux est présente dans la repository.

4. Démarrage de l'instance MSSQL Server 2017

Pour démarrer une instance MSSQL Server 2017 depuis l'image, tapper la commande suivante:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d microsoft/mssql-server-linux:2017-latest

Changer le mot de passe SA_PASSWORD et le port d'écoute au besoin. Une fois la commande passée, vérifier que l'image s'est bien créé et est démarrée avec la commande suivante:

docker ps

On voit bien que notre image a bien été créée et l'état est bien "up".

5. Tests

 

Lancer SQL Server Management Studio, puis entrer les informations suivants:

On arrive bien a se connecter à l'instance sql :

Tapper la commande suivante pour vérifier les informations du serveur sql:

select @@version
Microsoft SQL Server 2017 (RTM-CU3-GDR) (KB4052987) - 14.0.3015.40 (X64)   Dec 22 2017 16:13:22   Copyright (C) 2017 Microsoft Corporation  Developer Edition (64-bit) on Linux (Ubuntu 16.04.3 LTS)

Nous voyons bien qu'en étant sur localhost (windows), nous avons réussi à lancer une instance MSSQL Server 2017 installée sur un serveur Linux dans un conteneur Docker.