- Se connecter sous linux
- Pour avoir le droit d'utiliser docker, exécuter la commande suivante, qui change l'utilisateur en "dockerlocal" et se place dans le répertoire /tmp. Ce nouvel utilisateur ne peut manipuler que les fichiers dans /tmp, et exécuter les instructions "docker ...", il n'a pas accès aux autres fichiers de l'utilisateur. Le changement d'utilisateur ne s'applique que dans le terminal où vous avez tapé l'instruction (dans tout terminal où vous auriez envie d'exécuter docker, vous pourriez taper cette instruction). Cette commande a été définie sur certaines salles machines de Paris-Saclay pour contourner un problème avec les comptes informatiques des étudiants, elle n'existe pas ailleurs.
dockersh
Toutes les instructions suivantes (sauf mention contraire) sont à exécuter dans le terminal où vous avez tapé "dockersh".
- 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).
- Télécharger le fichier et le placer dans le répertoire /tmp pour que l'utilisateur dockerlocal y ait accès:
-
(à nouveau dans un conteneur appartenant à dockerlocal, où on a tapé dockersh):
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:/
-
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
-
Exécuter dans le client psql le fichier qui crée la base:
\i base-northwind-postgresql-copy.sql
-
Vous avez ici un rappel des commandes spécifiques à psql