Adaptez... Selon votre environnement, il peut par exemple être nécessaire de précéder les instructions docker d'un sudo.

Récupération de l'environnement pour le TP SQL Northwind:

Si vous avez déjà créé un conteneur Docker avec la base de données, il devrait avoir été sauvegardé par Docker lorsque vous avez fermé votre session sur votre machine.
  1. Retrouver le conteneur (et vérifier son existence) en listant tous (-a signifie "all") les conteneurs:
    					docker ps -a
    				
  2. Redémarrer le conteneur (si vous avez utilisé un autre nom que some-postgres, adaptez bien sûr), ce qui relance le serveur:
    					docker restart some-postgres
    				
  3. Créer un client dans le conteneur:
    					docker exec -it some-postgres psql -U postgres
    				
  4. Vérifier la présence des tables:
    					\d
    				

(Sinon) Mise en place du TP SQL Northwind:

Pour créer la BD dans un conteneur docker sous postgresql:
  1. Créer le conteneur où se lance le serveur:
    					docker run --name some-postgres -e POSTGRES_PASSWORD=mysecretpassword -d postgres
    				
    N.B. S'il y a déjà un conteneur nommé some-postgres sur la machine ceci échouera. Si vous ne voulez pas réutiliser le conteneur, vous pouvez choisir un autre nom de conteneur (le même ici et pour les instructions ci-dessous).
  2. Télécharger le fichier et le placer dans le répertoire courant:
    • Si vous pouvez utiliser wget:
      							wget https://www.lri.fr/~groz/documents/teaching/datasets/base-northwind-postgresql-copy.sql
      						
    • Si vous ne pouvez utiliser wget, comme c'est le même fichier que dans l'archive avec le sujet, une alternative est :
      							cp chemin-du-fichier-que-vous-avez-telecharge.sql .
      						
  3. Copier le fichier dans le conteneur pour qu'il y soit accessible (on le copie à la racine "/" du conteneur some-postgres, les ":" sont indispensables pour éviter de confondre some-postgres avec un nom de fichier):
    					docker cp base-northwind-postgresql-copy.sql some-postgres:/
    				
    En fait, ici on aurait pu fusionner les étapes 3 et 4 en remplaçant dans 4 le nom du fichier par son chemin si on l'a téléchargé ailleurs.
  4. Exécuter (en plus du serveur) un client "psql" dans le conteneur, de sorte que le client se connecte au serveur en tant qu'utilisateur "postgres":
    					docker exec -it some-postgres psql -U postgres
    				
  5. Exécuter dans le client psql le fichier qui crée la base:
    					\i base-northwind-postgresql-copy.sql
    				
  6. Vous avez ici un rappel des commandes spécifiques à psql