Exercice – Installer SQL Server sur un conteneur

Effectué

Vous pouvez exécuter SQL Server sur un hôte de conteneur à l’aide de l’image Microsoft SQL Server 2019.

Vous êtes administrateur de base de données dans l’entreprise de vente en gros Wide World Importers et vous voulez tirer parti de SQL Server sans avoir à changer le système d’exploitation des serveurs. Vous avez décidé de déployer SQL Server dans un conteneur et d’utiliser Docker pour le déployer et le gérer.

Dans cet exercice, vous allez apprendre à déployer SQL Server sur un conteneur avec Docker.

Se connecter à la machine virtuelle Ubuntu

Pour pouvoir exécuter des conteneurs, commencez par installer le logiciel de l’hôte du conteneur Docker. Suivez la procédure suivante :

  1. Si vous n’avez pas effectué l’exercice de l’unité 3, commencez par installer un nouveau serveur Ubuntu 18.04 LTS. Quelques minutes sont nécessaires pour exécuter cette commande. Si vous avez suivi l’unité 3, vous pouvez ignorer la section suivante :

    export UBUNTUPASSWORD=$(openssl rand -base64 32)
    az vm create \
        --name UbuntuServer \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --admin-username ubuntuadmin \
        --admin-password $UBUNTUPASSWORD \
        --image "Canonical:UbuntuServer:18.04-LTS:latest" \
        --nsg-rule SSH \
        --public-ip-sku Standard \
        --size Standard_D2s_v3   
    
  2. Dans Cloud Shell, entrez les commandes suivantes.

    export IPADDRESS=$(az vm show -d \
        --name UbuntuServer \
        --query publicIps --output tsv \
        --resource-group <rgn>[sandbox resource group name]</rgn>)
    echo $UBUNTUPASSWORD
    ssh ubuntuadmin@$IPADDRESS
    
  3. Quand il vous est demandé confirmation, entrez oui.

  4. En ce qui concerne le mot de passe, utilisez celui qui s’affiche, puis appuyez sur Entrée. SSH se connecte à la machine virtuelle et affiche un interpréteur de commandes Bash.

Installation de Docker

Pour installer Docker, ajoutez le référentiel Docker, puis utilisez l’outil apt-get.

  1. Pour ajouter la clé GPG Docker à votre système Ubuntu, exécutez la commande suivante :

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  2. Pour ajouter le référentiel Docker aux sources Ubuntu, exécutez la commande suivante :

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  3. Pour mettre à jour votre base de données de packages, exécutez la commande suivante :

    sudo apt-get update
    
  4. Vous pouvez maintenant installer Docker. Exécutez la commande suivante :

    sudo apt-get install -y docker-ce
    

Extraire et exécuter l’image conteneur

Le moyen le plus simple d’utiliser SQL Server dans des conteneurs Docker consiste à se servir de l’image Microsoft SQL Server sur Linux comme parent. Au cours des étapes suivantes, téléchargez et exécutez cette image :

  1. Pour vérifier que Docker est en cours d’exécution, exécutez la commande suivante :

    systemctl status docker --no-pager
    
  2. Pour extraire l’image SQL Server du référentiel Microsoft, exécutez la commande suivante :

    sudo docker pull mcr.microsoft.com/mssql/server:2019-latest
    
  3. S’il vous est demandé d’entrer un mot de passe, utilisez celui qui s’est affiché précédemment, puis appuyez sur Entrée.

  4. Pour exécuter l’image Docker SQL Server, exécutez la commande suivante :

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Pa55w.rd' \
    -p 1435:1435 --name sql-server-image \
    -d mcr.microsoft.com/mssql/server:2019-latest
    

Créer une base de données

Maintenant que SQL Server est en cours d’exécution dans le conteneur, vous pouvez y créer une base de données. Effectuez les étapes suivantes :

  1. Pour créer un interpréteur de commandes Bash dans votre conteneur, exécutez la commande suivante :

    sudo docker exec -it sql-server-image "bash"
    
  2. Pour démarrer sqlcmd dans le conteneur, exécutez la commande suivante :

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Pa55w.rd'
    
  3. Pour créer une base de données, exécutez la commande suivante :

    CREATE DATABASE WideWorld1
    GO
    
  4. Pour vérifier que la base de données a été créée, exécutez les commandes suivantes :

    SELECT Name from sys.Databases
    GO
    
  5. Pour fermer sqlcmd, exécutez la commande suivante :

    quit
    
  6. Pour quitter le conteneur et SSH, exécutez deux fois la commande exit.