Image Docker
Utilisation d’une image Docker
Utiliser l’image clé-en-main
Une image ubuntu avec un environnement de bureau accessible via un navigateur web a été construite pour vous. Y sont installés quelques utilitaires usuels (firefox, zip, curl, evince, etc), et un environnement de développement Python.
Etape 1 : installer Docker sur votre machine
Pour exécuter une image Docker, vous avez besoin d’installer un “moteur Docker” sur votre machine. Cette étape n’est à faire que la première fois.
Instructions pour Linux
(Oui, on peut avoir envie de faire tourner cette image Ubuntu même si on est déjà sous Linux pour tester des choses sans “polluer” la machine hôte par exemple.)
Le processus d’installation est décrit dans le manuel, en bref voici les commandes à exécuter :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Ensuite créez un groupe appelé “docker” et ajoutez votre utilisateur à ce groupe :
sudo groupadd docker
sudo usermod -aG docker ${USER}
Utilisez la commande newgrp docker
ou déconnectez-vous puis reconnectez-vous pour que votre appartenance au groupe soit prise en compte.
Instructions pour Windows ou Mac
Etape 2 : télécharger l’image et démarrer un container
Instructions pour Linux
La commande de base pour télécharger l’image et démarrer un container est :
docker run --rm --detach --publish 3000:3000 gitlab-research.centralesupelec.fr:4567/cs-metz/dockers/webtopix
La première fois cette étape peut demander quelques minutes car Docker doit d’abord récupérer l’image stockée sur nos serveurs.
Si vous exécutez à nouveau cette commande sans avoir redémarré votre ordinateur elle va échouer car le port 3000 n’aura pas été libéré.
- Si vous tenez à exécuter l’image en 2 exemplaires, modifiez simplement 3000:3000 en 3002:3000 par exemple (sous réserve que le port 3002 soit libre sur votre machine).
- Si vous voulez vous débarrasser de la première instance avant d’en relancer une nouvelle, toujours associée au port 3000, repérez l’identifiant de votre container à l’aide de la commande
docker container ls
(par exemple 081b3eb43113), puis supprimez-le avec la commandedocker container rm -f 081b3eb43113
Si vous souhaitez partager un dossier de votre arborescence de fichiers (‘YOUR_CHOICE_OF_PATH’) avec le dossier ‘/home/abc/PersistentDir’ du container, utilisez plutôt la commande suivante :
docker run --rm --detach --publish 3000:3000 --volume YOUR_CHOICE_OF_PATH:/home/abc/PersistentDir:rw gitlab-research.centralesupelec.fr:4567/cs-metz/dockers/webtopix
Si vous souhaitez en plus conserver la même identité (notamment pour les fichiers que vous allez créer ou manipuler dans ce dossier monté), commencez par repérer vos identifiants d’utilisateur ‘XXXX’ et de groupe ‘YYYY’ avec les commandes
id -u
id -g
Démarrez ensuite le container avec la commande suivante :
docker run --rm --detach --publish 3000:3000 --env PUID=XXXX --env PGID=YYYY --volume YOUR_CHOICE_OF_PATH:/home/abc/PersistentDir:rw gitlab-research.centralesupelec.fr:4567/cs-metz/dockers/webtopix
Instructions pour Windows ou Mac
A FAIRE
Etape 3 : utiliser le container
Utilisez votre navigateur pour vous connecter à http://127.0.0.1:3000/
Vous obtenez l’environnement suivant :
Dans cet environnement vous êtes l’utilisateur ‘abc’, avec le mot de passe ‘abc’. Il n’y a pas de mot de passe pour ‘sudo’.
Il est important de comprendre que tout ce que vous faites dans cet environnement est perdu dès que le container est détruit. Seuls les fichiers que vous aurez placés dans le dossier ‘/home/abc/PersistentDir’ seront éventuellement sauvés sur disque si vous avez lancé le container avec l’option ‘volume’ comme expliqué ci-dessus. Pour apporter des modifications durables, voir la section suivante.
Modifier l’image
A FAIRE