Démarrage rapide : Exécuter des images de conteneur de SQL Server avec DockerQuickstart: Run SQL Server container images with Docker

S’applique à : OuiSQL Server (Linux uniquement) aucunbase de données SQL Azure aucunAzure SQL Data Warehouse aucuneparallèles Entrepôt de données APPLIES TO: yesSQL Server (Linux only) noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Dans ce démarrage rapide, vous utilisez Docker pour extraire et exécuter l’image conteneur de SQL Server 2017, mssql-server-linux.In this quickstart, you use Docker to pull and run the SQL Server 2017 container image, mssql-server-linux. Puis vous vous connectez avec sqlcmd pour créer votre première base de données et exécuter des requêtes.Then connect with sqlcmd to create your first database and run queries.

Conseil

Si vous souhaitez essayer de l’image d’aperçu de SQL Server 2019, consultez le version d’évaluation de SQL Server 2019 de cet article.If you want to try the SQL Server 2019 preview image, see the SQL Server 2019 preview version of this article.

Dans ce démarrage rapide, vous utilisez Docker pour extraire et exécuter l’image de conteneur de version préliminaire de SQL Server 2019, mssql-server.In this quickstart, you use Docker to pull and run the SQL Server 2019 preview container image, mssql-server. Puis vous vous connectez avec sqlcmd pour créer votre première base de données et exécuter des requêtes.Then connect with sqlcmd to create your first database and run queries.

Conseil

Ce démarrage rapide crée des conteneurs de version préliminaire de SQL Server 2019.This quickstart creates SQL Server 2019 preview containers. Si vous préférez créer des conteneurs de SQL Server 2017, consultez le version de SQL Server 2017 de cet article.If you prefer to create SQL Server 2017 containers, see the SQL Server 2017 version of this article.

Cette image est composée de SQL Server s’exécutant sur Linux basé sur Ubuntu 16.04.This image consists of SQL Server running on Linux based on Ubuntu 16.04. Elle peut être utilisée avec Docker Engine 1.8+ sur Linux ou sur Docker pour Mac/Windows.It can be used with the Docker Engine 1.8+ on Linux or on Docker for Mac/Windows. Ce démarrage rapide se concentre spécifiquement sur l’utilisation de SQL Server sur linux image.This quickstart specifically focuses on using the SQL Server on linux image. L’image Windows n’est pas traitée, mais vous pouvez obtenir plus d’informations dans la page du Hub Docker mssql-server-windows-developer.The Windows image is not covered, but you can learn more about it on the mssql-server-windows-developer Docker Hub page.

Conditions préalablesPrerequisites

Extraire et exécuter l’image de conteneurPull and run the container image

Avant de commencer les étapes suivantes, assurez-vous que vous avez sélectionné votre interpréteur de commandes préféré (bash, PowerShell ou cmd) en haut de cet article.Before starting the following steps, make sure that you have selected your preferred shell (bash, PowerShell, or cmd) at the top of this article.

  1. Extrayez l’image de conteneur de SQL Server 2017 Linux à partir du Registre de conteneurs de Microsoft.Pull the SQL Server 2017 Linux container image from Microsoft Container Registry.

    sudo docker pull mcr.microsoft.com/mssql/server:2017-latest
    
    docker pull mcr.microsoft.com/mssql/server:2017-latest
    
    docker pull mcr.microsoft.com/mssql/server:2017-latest
    

    Conseil

    Si vous souhaitez essayer de l’image d’aperçu de SQL Server 2019, consultez le version d’évaluation de SQL Server 2019 de cet article.If you want to try the SQL Server 2019 preview image, see the SQL Server 2019 preview version of this article.

    La commande précédente extrait la dernière image conteneur de SQL Server 2017.The previous command pulls the latest SQL Server 2017 container image. Si vous voulez extraire une image spécifique, ajoutez un signe deux-points et le nom de la balise (par exemple, mcr.microsoft.com/mssql/server:2017-GA-ubuntu).If you want to pull a specific image, you add a colon and the tag name (for example, mcr.microsoft.com/mssql/server:2017-GA-ubuntu). Pour voir toutes les images disponibles, consultez la page du hub Docker mssql-server.To see all available images, see the mssql-server Docker hub page.

    Pour les commandes bash dans cet article, sudo est utilisé.For the bash commands in this article, sudo is used. Sur MacOS, sudo n’est peut-être pas nécessaire.On MacOS, sudo might not be required. Sur Linux, si vous ne souhaitez pas utiliser sudo pour exécuter Docker, vous pouvez configurer un docker groupe et ajouter des utilisateurs à ce groupe.On Linux, if you do not want to use sudo to run Docker, you can configure a docker group and add users to that group. Pour plus d’informations, consultez étapes de post-installation pour Linux.For more information, see Post-installation steps for Linux.

  2. Pour exécuter l’image conteneur avec Docker, vous pouvez utiliser la commande suivante à partir d’un interpréteur de commandes bash (Linux/macOS) ou d’une invite de commandes PowerShell avec élévation de privilèges.To run the container image with Docker, you can use the following command from a bash shell (Linux/macOS) or elevated PowerShell command prompt.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' \
       -p 1433:1433 --name sql1 \
       -d mcr.microsoft.com/mssql/server:2017-latest
    
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong!Passw0rd>" `
       -p 1433:1433 --name sql1 `
       -d mcr.microsoft.com/mssql/server:2017-latest
    
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong!Passw0rd>" `
       -p 1433:1433 --name sql1 `
       -d mcr.microsoft.com/mssql/server:2017-latest
    

    Notes

    Le mot de passe doit suivre la stratégie de mot de passe SQL Server par défaut, sinon le conteneur ne peut pas configurer SQL Server et s’arrête de fonctionner.The password should follow the SQL Server default password policy, otherwise the container can not setup SQL server and will stop working. Par défaut, le mot de passe doit comporter au moins 8 caractères et contenir des caractères appartenant à trois des quatre groupes suivants : Lettres majuscules, lettres minuscules, chiffres de Base 10 et symboles.By default, the password must be at least 8 characters long and contain characters from three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols. Vous pouvez examiner le journal des erreurs en exécutant la commande docker logs.You can examine the error log by executing the docker logs command.

    Notes

    Par défaut, cette commande crée un conteneur avec l’édition Développeur de SQL Server 2017.By default, this creates a container with the Developer edition of SQL Server 2017. Le processus d’exécution des éditions de production dans des conteneurs est légèrement différent.The process for running production editions in containers is slightly different. Pour plus d’informations, consultez Exécuter des images conteneur de production.For more information, see Run production container images.

    Le tableau suivant décrit les paramètres de l’exemple docker run précédent :The following table provides a description of the parameters in the previous docker run example:

    ParamètreParameter DescriptionDescription
    -e 'ACCEPT_EULA=Y'-e 'ACCEPT_EULA=Y' Définissez la variable ACCEPT_EULA sur n’importe quelle valeur pour confirmer que vous acceptez le Contrat de licence utilisateur final.Set the ACCEPT_EULA variable to any value to confirm your acceptance of the End-User Licensing Agreement. Paramètre obligatoire pour l’image de SQL Server.Required setting for the SQL Server image.
    -e ' SA_PASSWORD =<YourStrong ! Passw0rd>'-e 'SA_PASSWORD=<YourStrong!Passw0rd>' Spécifiez votre propre mot de passe fort, qui doit avoir au moins 8 caractères et respecter les exigences de mot de passe SQL Server.Specify your own strong password that is at least 8 characters and meets the SQL Server password requirements. Paramètre obligatoire pour l’image de SQL Server.Required setting for the SQL Server image.
    -p 1433:1433-p 1433:1433 Mappez un port TCP sur l’environnement hôte (première valeur) à un port TCP dans le conteneur (deuxième valeur).Map a TCP port on the host environment (first value) with a TCP port in the container (second value). Dans cet exemple, SQL Server écoute sur TCP 1433 dans le conteneur et il est exposé au port, 1433, sur l’ordinateur hôte.In this example, SQL Server is listening on TCP 1433 in the container and this is exposed to the port, 1433, on the host.
    --name sql1--name sql1 Spécifiez un nom personnalisé pour le conteneur plutôt qu’un nom généré de manière aléatoire.Specify a custom name for the container rather than a randomly generated one. Si vous exécutez plusieurs conteneurs, vous ne pouvez pas réutiliser le même nom.If you run more than one container, you cannot reuse this same name.
    mcr.microsoft.com/mssql/server:2017-latestmcr.microsoft.com/mssql/server:2017-latest Image conteneur Linux de SQL Server 2017.The SQL Server 2017 Linux container image.
  3. Pour afficher vos conteneurs Docker, utilisez la commande docker ps.To view your Docker containers, use the docker ps command.

    sudo docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Vous devez obtenir une sortie similaire à la capture d’écran suivante :You should see output similar to the following screenshot:

    Sortie de la commande Docker ps

  4. Si la colonne ÉTAT affiche En cours d’exécution, SQL Server est en cours d’exécution dans le conteneur et écoute sur le port spécifié dans la colonne PORTS.If the STATUS column shows a status of Up, then SQL Server is running in the container and listening on the port specified in the PORTS column. Si la colonne ÉTAT pour votre conteneur SQL Server affiche Quitté, consultez la section Résolution des problèmes dans le guide de configuration.If the STATUS column for your SQL Server container shows Exited, see the Troubleshooting section of the configuration guide.

Le paramètre -h (nom d’hôte) est également utile, mais il n’est pas utilisé dans ce didacticiel pour plus de simplicité.The -h (host name) parameter is also useful, but it is not used in this tutorial for simplicity. Il permet de changer le nom interne du conteneur en une valeur personnalisée.This changes the internal name of the container to a custom value. Il s’agit du nom retourné dans la requête Transact-SQL suivante :This is the name you'll see returned in the following Transact-SQL query:

SELECT @@SERVERNAME,
    SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
    SERVERPROPERTY('MachineName'),
    SERVERPROPERTY('ServerName')

Pour identifier facilement le conteneur cible, définissez -h et --name sur la même valeur.Setting -h and --name to the same value is a good way to easily identify the target container.

Extraire et exécuter l’image de conteneurPull and run the container image

Avant de commencer les étapes suivantes, assurez-vous que vous avez sélectionné votre interpréteur de commandes préféré (bash, PowerShell ou cmd) en haut de cet article.Before starting the following steps, make sure that you have selected your preferred shell (bash, PowerShell, or cmd) at the top of this article.

  1. Extraire la version préliminaire de SQL Server 2019 image de conteneur Linux Docker Hub.Pull the SQL Server 2019 preview Linux container image from Docker Hub.

    sudo docker pull mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu
    
    docker pull mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu
    
    docker pull mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu
    

    Conseil

    Ce démarrage rapide utilise la version préliminaire de SQL Server 2019 image Docker.This quickstart uses the SQL Server 2019 preview Docker image. Si vous souhaitez exécuter l’image de SQL Server 2017, consultez le version de SQL Server 2017 de cet article.If you want to run the SQL Server 2017 image, see the SQL Server 2017 version of this article.

    La commande précédente extrait l’image de conteneur de version préliminaire de SQL Server 2019 basée sur Ubuntu.The previous command pulls the SQL Server 2019 preview container image based on Ubuntu. Pour utiliser à la place des images de conteneur basées sur Red Hat, consultez images de conteneur basés sur RHEL exécuter.To instead use container images based on RedHat, see Run RHEL-based container images. Pour voir toutes les images disponibles, consultez la page du hub Docker mssql-server-linux.To see all available images, see the mssql-server-linux Docker hub page.

    Pour les commandes bash dans cet article, sudo est utilisé.For the bash commands in this article, sudo is used. Sur MacOS, sudo n’est peut-être pas nécessaire.On MacOS, sudo might not be required. Sur Linux, si vous ne souhaitez pas utiliser sudo pour exécuter Docker, vous pouvez configurer un docker groupe et ajouter des utilisateurs à ce groupe.On Linux, if you do not want to use sudo to run Docker, you can configure a docker group and add users to that group. Pour plus d’informations, consultez étapes de post-installation pour Linux.For more information, see Post-installation steps for Linux.

  2. Pour exécuter l’image conteneur avec Docker, vous pouvez utiliser la commande suivante à partir d’un interpréteur de commandes bash (Linux/macOS) ou d’une invite de commandes PowerShell avec élévation de privilèges.To run the container image with Docker, you can use the following command from a bash shell (Linux/macOS) or elevated PowerShell command prompt.

    sudo docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<YourStrong!Passw0rd>' \
       -p 1433:1433 --name sql1 \
       -d mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu
    
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong!Passw0rd>" `
       -p 1433:1433 --name sql1 `
       -d mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu
    
    docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=<YourStrong!Passw0rd>" `
       -p 1433:1433 --name sql1 `
       -d mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu
    

    Notes

    Le mot de passe doit suivre la stratégie de mot de passe SQL Server par défaut, sinon le conteneur ne peut pas configurer SQL Server et s’arrête de fonctionner.The password should follow the SQL Server default password policy, otherwise the container can not setup SQL server and will stop working. Par défaut, le mot de passe doit comporter au moins 8 caractères et contenir des caractères appartenant à trois des quatre groupes suivants : Lettres majuscules, lettres minuscules, chiffres de Base 10 et symboles.By default, the password must be at least 8 characters long and contain characters from three of the following four sets: Uppercase letters, Lowercase letters, Base 10 digits, and Symbols. Vous pouvez examiner le journal des erreurs en exécutant la commande docker logs.You can examine the error log by executing the docker logs command.

    Notes

    Par défaut, cela crée un conteneur avec l’édition développeur de la version préliminaire de SQL Server 2019.By default, this creates a container with the Developer edition of SQL Server 2019 preview.

    Le tableau suivant décrit les paramètres de l’exemple docker run précédent :The following table provides a description of the parameters in the previous docker run example:

    ParamètreParameter DescriptionDescription
    -e 'ACCEPT_EULA=Y'-e 'ACCEPT_EULA=Y' Définissez la variable ACCEPT_EULA sur n’importe quelle valeur pour confirmer que vous acceptez le Contrat de licence utilisateur final.Set the ACCEPT_EULA variable to any value to confirm your acceptance of the End-User Licensing Agreement. Paramètre obligatoire pour l’image de SQL Server.Required setting for the SQL Server image.
    -e ' SA_PASSWORD =<YourStrong ! Passw0rd>'-e 'SA_PASSWORD=<YourStrong!Passw0rd>' Spécifiez votre propre mot de passe fort, qui doit avoir au moins 8 caractères et respecter les exigences de mot de passe SQL Server.Specify your own strong password that is at least 8 characters and meets the SQL Server password requirements. Paramètre obligatoire pour l’image de SQL Server.Required setting for the SQL Server image.
    -p 1433:1433-p 1433:1433 Mappez un port TCP sur l’environnement hôte (première valeur) à un port TCP dans le conteneur (deuxième valeur).Map a TCP port on the host environment (first value) with a TCP port in the container (second value). Dans cet exemple, SQL Server écoute sur TCP 1433 dans le conteneur et il est exposé au port, 1433, sur l’ordinateur hôte.In this example, SQL Server is listening on TCP 1433 in the container and this is exposed to the port, 1433, on the host.
    --name sql1--name sql1 Spécifiez un nom personnalisé pour le conteneur plutôt qu’un nom généré de manière aléatoire.Specify a custom name for the container rather than a randomly generated one. Si vous exécutez plusieurs conteneurs, vous ne pouvez pas réutiliser le même nom.If you run more than one container, you cannot reuse this same name.
    mcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntumcr.microsoft.com/mssql/server:2019-CTP2.5-ubuntu L’image de conteneur Linux de 2.5 CTP de SQL Server 2019.The SQL Server 2019 CTP 2.5 Linux container image.
  3. Pour afficher vos conteneurs Docker, utilisez la commande docker ps.To view your Docker containers, use the docker ps command.

    sudo docker ps -a
    
    docker ps -a
    
    docker ps -a
    

    Vous devez obtenir une sortie similaire à la capture d’écran suivante :You should see output similar to the following screenshot:

    Sortie de la commande Docker ps

  4. Si la colonne ÉTAT affiche En cours d’exécution, SQL Server est en cours d’exécution dans le conteneur et écoute sur le port spécifié dans la colonne PORTS.If the STATUS column shows a status of Up, then SQL Server is running in the container and listening on the port specified in the PORTS column. Si la colonne ÉTAT pour votre conteneur SQL Server affiche Quitté, consultez la section Résolution des problèmes dans le guide de configuration.If the STATUS column for your SQL Server container shows Exited, see the Troubleshooting section of the configuration guide.

Le paramètre -h (nom d’hôte) est également utile, mais il n’est pas utilisé dans ce didacticiel pour plus de simplicité.The -h (host name) parameter is also useful, but it is not used in this tutorial for simplicity. Il permet de changer le nom interne du conteneur en une valeur personnalisée.This changes the internal name of the container to a custom value. Il s’agit du nom retourné dans la requête Transact-SQL suivante :This is the name you'll see returned in the following Transact-SQL query:

SELECT @@SERVERNAME,
    SERVERPROPERTY('ComputerNamePhysicalNetBIOS'),
    SERVERPROPERTY('MachineName'),
    SERVERPROPERTY('ServerName')

Pour identifier facilement le conteneur cible, définissez -h et --name sur la même valeur.Setting -h and --name to the same value is a good way to easily identify the target container.

Modifier le mot de passe SAChange the SA password

Le compte SA est un administrateur système sur l’instance SQL Server qui est créée lors de l’installation.The SA account is a system administrator on the SQL Server instance that gets created during setup. Une fois le conteneur SQL Server créé, la variable d’environnement MSSQL_SA_PASSWORD que vous avez spécifiée peut être découverte en exécutant echo $MSSQL_SA_PASSWORD dans le conteneur.After creating your SQL Server container, the MSSQL_SA_PASSWORD environment variable you specified is discoverable by running echo $MSSQL_SA_PASSWORD in the container. Pour des raisons de sécurité, changez le mot de passe pour SA.For security purposes, change your SA password.

  1. Choisissez un mot de passe fort à utiliser pour l’utilisateur SA.Choose a strong password to use for the SA user.

  2. Utilisez docker exec pour exécuter sqlcmd pour changer le mot de passe avec Transact-SQL.Use docker exec to run sqlcmd to change the password using Transact-SQL. Dans l’exemple suivant, remplacez l’ancien mot de passe, <YourStrong!Passw0rd>et le nouveau mot de passe, <YourNewStrong!Passw0rd>, avec vos propres valeurs de mot de passe.In the following example, replace the old password, <YourStrong!Passw0rd>, and the new password, <YourNewStrong!Passw0rd>, with your own password values.

    sudo docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd \
       -S localhost -U SA -P '<YourStrong!Passw0rd>' \
       -Q 'ALTER LOGIN SA WITH PASSWORD="<YourNewStrong!Passw0rd>"'
    
    docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd `
       -S localhost -U SA -P "<YourStrong!Passw0rd>" `
       -Q "ALTER LOGIN SA WITH PASSWORD='<YourNewStrong!Passw0rd>'"
    
    docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd `
       -S localhost -U SA -P "<YourStrong!Passw0rd>" `
       -Q "ALTER LOGIN SA WITH PASSWORD='<YourNewStrong!Passw0rd>'"
    

Se connecter à SQL ServerConnect to SQL Server

La procédure suivante utilise l’outil en ligne de commande SQL Server, sqlcmd, dans le conteneur pour se connecter à SQL Server.The following steps use the SQL Server command-line tool, sqlcmd, inside the container to connect to SQL Server.

  1. Utilisez la commande docker exec -it pour démarrer un interpréteur de commandes bash interactif dans votre conteneur en cours d’exécution.Use the docker exec -it command to start an interactive bash shell inside your running container. Dans l’exemple suivant, sql1 est le nom spécifié par le paramètre --name quand vous avez créé le conteneur.In the following example sql1 is name specified by the --name parameter when you created the container.

    sudo docker exec -it sql1 "bash"
    
    docker exec -it sql1 "bash"
    
    docker exec -it sql1 "bash"
    
  2. Une fois dans le conteneur, connectez-vous localement avec sqlcmd.Once inside the container, connect locally with sqlcmd. Sqlcmd n’est pas dans le chemin par défaut, vous devez spécifier le chemin complet.Sqlcmd is not in the path by default, so you have to specify the full path.

    /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P '<YourNewStrong!Passw0rd>'
    

    Conseil

    Vous pouvez omettre le mot de passe sur la ligne de commande pour être invité à l’entrer.You can omit the password on the command-line to be prompted to enter it.

  3. Si l’opération réussit, vous devez accéder à une invite de commandes sqlcmd : 1>.If successful, you should get to a sqlcmd command prompt: 1>.

Créer et interroger des donnéesCreate and query data

Les sections suivantes vous guident lors de l’utilisation de sqlcmd et Transact-SQL pour créer une base de données, ajouter des données et exécuter une requête simple.The following sections walk you through using sqlcmd and Transact-SQL to create a new database, add data, and run a simple query.

Créer une base de donnéesCreate a new database

La procédure suivante crée une base de données nommée TestDB.The following steps create a new database named TestDB.

  1. À partir de l’invite de commandes sqlcmd, collez la commande Transact-SQL suivante pour créer une base de données de test :From the sqlcmd command prompt, paste the following Transact-SQL command to create a test database:

    CREATE DATABASE TestDB
    
  2. Sur la ligne suivante, écrivez une requête pour retourner le nom de toutes les bases de données sur votre serveur :On the next line, write a query to return the name of all of the databases on your server:

    SELECT Name from sys.Databases
    
  3. Les deux commandes précédentes n’ont pas été exécutées immédiatement.The previous two commands were not executed immediately. Vous devez taper GO sur une nouvelle ligne pour exécuter les commandes précédentes :You must type GO on a new line to execute the previous commands:

    GO
    

Insérer des donnéesInsert data

Créez ensuite une table, Inventory, et insérez deux nouvelles lignes.Next create a new table, Inventory, and insert two new rows.

  1. À partir de l’invite de commandes sqlcmd, basculez le contexte vers la nouvelle base de données TestDB :From the sqlcmd command prompt, switch context to the new TestDB database:

    USE TestDB
    
  2. Créez une table nommée Inventory :Create new table named Inventory:

    CREATE TABLE Inventory (id INT, name NVARCHAR(50), quantity INT)
    
  3. Insérez des données dans la nouvelle table :Insert data into the new table:

    INSERT INTO Inventory VALUES (1, 'banana', 150); INSERT INTO Inventory VALUES (2, 'orange', 154);
    
  4. Tapez GO pour exécuter les commandes précédentes :Type GO to execute the previous commands:

    GO
    

Sélectionner les donnéesSelect data

Exécutez maintenant une requête pour retourner des données de la table Inventory.Now, run a query to return data from the Inventory table.

  1. Dans l’invite de commandes sqlcmd, entrez une requête qui retourne les lignes de la table Inventory dont la quantité est supérieure à 152 :From the sqlcmd command prompt, enter a query that returns rows from the Inventory table where the quantity is greater than 152:

    SELECT * FROM Inventory WHERE quantity > 152;
    
  2. Exécutez la commande :Execute the command:

    GO
    

Quitter l’invite de commandes sqlcmdExit the sqlcmd command prompt

  1. Pour mettre fin à votre session sqlcmd, tapez QUIT :To end your sqlcmd session, type QUIT:

    QUIT
    
  2. Pour quitter l’invite de commandes interactive dans votre conteneur, tapez exit.To exit the interactive command-prompt in your container, type exit. Le conteneur continue de s’exécuter une fois que vous avez quitté l’interpréteur de commandes bash interactif.Your container continues to run after you exit the interactive bash shell.

Se connecter en dehors du conteneurConnect from outside the container

Vous pouvez aussi vous connecter à l’instance SQL Server sur votre machine Docker à partir de n’importe quel outil externe Linux, Windows ou macOS qui prend en charge les connexions SQL.You can also connect to the SQL Server instance on your Docker machine from any external Linux, Windows, or macOS tool that supports SQL connections.

Les étapes suivantes utilisent sqlcmd en dehors de votre conteneur pour se connecter à SQL Server en cours d’exécution dans le conteneur.The following steps use sqlcmd outside of your container to connect to SQL Server running in the container. Ces étapes supposent que vous avez déjà installé les outils en ligne de commande SQL Server en dehors de votre conteneur.These steps assume that you already have the SQL Server command-line tools installed outside of your container. Les mêmes principes s’appliquent lors de l’utilisation d’autres outils, mais le processus de connexion est propre à chaque outil.The same principles apply when using other tools, but the process of connecting is unique to each tool.

  1. Recherchez l’adresse IP de la machine qui héberge votre conteneur.Find the IP address for the machine that hosts your container. Sur Linux, utilisez ifconfig ou ip addr. Sur Windows, utilisez ipconfig.On Linux, use ifconfig or ip addr. On Windows, use ipconfig.

  2. Pour cet exemple, vous devez installer le sqlcmd outil sur votre ordinateur client.For this example, install the sqlcmd tool on your client machine. Pour plus d’informations, consultez installer sqlcmd sur Windows ou installer sqlcmd sur Linux.For more information, see Install sqlcmd on Windows or Install sqlcmd on Linux.

  3. Exécutez sqlcmd en spécifiant l’adresse IP et le port mappé au port 1433 dans votre conteneur.Run sqlcmd specifying the IP address and the port mapped to port 1433 in your container. Dans cet exemple, qui est le même port 1433, sur l’ordinateur hôte.In this example, that is the same port, 1433, on the host machine. Si vous avez spécifié un autre port mappé sur l’ordinateur hôte, vous devez l’utiliser ici.If you specified a different mapped port on the host machine, you would use it here.

    sqlcmd -S <ip_address>,1433 -U SA -P '<YourNewStrong!Passw0rd>'
    
    sqlcmd -S <ip_address>,1433 -U SA -P "<YourNewStrong!Passw0rd>"
    
    sqlcmd -S <ip_address>,1433 -U SA -P "<YourNewStrong!Passw0rd>"
    
  4. Exécutez les commandes Transact-SQL.Run Transact-SQL commands. Quand vous avez terminé, tapez QUIT.When finished, type QUIT.

Voici d’autres outils courants pour vous connecter à SQL Server :Other common tools to connect to SQL Server include:

Supprimer votre conteneurRemove your container

Si vous voulez supprimer le conteneur SQL Server utilisé dans ce didacticiel, exécutez les commandes suivantes :If you want to remove the SQL Server container used in this tutorial, run the following commands:

sudo docker stop sql1
sudo docker rm sql1
docker stop sql1
docker rm sql1
docker stop sql1
docker rm sql1

Avertissement

L’arrêt et la suppression d’un conteneur supprime définitivement toutes les données SQL Server dans le conteneur.Stopping and removing a container permanently deletes any SQL Server data in the container. Si vous avez besoin de conserver vos données, créez et copiez un fichier de sauvegarde en dehors du conteneur ou utilisez une technique de persistance de données de conteneur.If you need to preserve your data, create and copy a backup file out of the container or use a container data persistence technique.

Démonstration DockerDocker demo

Une fois que vous avez essayé d’utiliser l’image conteneur de SQL Server pour Docker, vous pouvez être intéressé par des informations sur l’utilisation de Docker pour améliorer le développement et les tests.After you have tried using the SQL Server container image for Docker, you might want to know how Docker is used to improve development and testing. La vidéo suivante illustre l’utilisation de Docker dans une intégration continue et un scénario de déploiement.The following video shows how Docker can be used in a continuous integration and deployment scenario.

Étapes suivantesNext steps

Pour obtenir un didacticiel sur la restauration de fichiers de sauvegarde de base de données dans un conteneur, consultez Restaurer une base de données SQL Server dans un conteneur Linux Docker.For a tutorial on how to restore database backup files into a container, see Restore a SQL Server database in a Linux Docker container. Pour Explorer d’autres scénarios, telles que l’exécution de plusieurs conteneurs, la persistance des données et le dépannage, consultez images de conteneur de configuration de SQL Server sur Docker.To explore other scenarios, such as running multiple containers, data persistence, and troubleshooting, see Configure SQL Server container images on Docker.

Consultez également le dépôt GitHub mssql-docker pour obtenir des ressources, des commentaires et les problèmes connus.Also, check out the mssql-docker GitHub repository for resources, feedback, and known issues.