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

instructions pour Windows

instructions pour 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 commande docker 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 :

WebTopix WebTopix

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