Skip to article content

MyDocker@Paris-Saclay

MyDocker@Paris-Saclay est un service d’environnements virtuels permettant d’accéder à de nombreux logiciels scientifiques (dont Jupyter) à partir d’un simple navigateur web, notamment pour du calcul interactif, du traitement de données, etc.

Ce service est ouvert aux étudiants et personnels de l’Université Paris-Saclay. À titre expérimental, il est ouvert plus généralement aux établissements de la fédération d’identité «Recherche et Enseignement Supérieur» de Renater); contactez nous avant tout usage intensif.

Accès aux environnements

Les items ci-dessous vous donne accès à quelques environnements génériques. Si vous êtes enseignante ou enseignant, vous pouvez créer vos propres environnements (documentation à venir), voire proposer qu’ils soient ajoutés ici. De nombreux autres environnements ont été créés par des collègues pour toutes sortes de besoin.

Votre page d’accueil de myDocker vous donne accès à tous les environnements que vous avez déjà utilisé.

À propos du service

Contact et support technique

En cas de panne du service, ou pour de l’aide à l’organisation de cours utilisant myDocker, vous pouvez contacter le support technique: mydocker-upsaclay@listes.centralesupelec.fr.

Limitations connues et résolution de problèmes

Authentification

  • Symptôme: Auprès l’étape d’authentification, myDocker affiche «impossible de s’authentifier»:
    Vérifier que l’ordinateur d’où l’on accède à myDocker est bien à l’heure. Un décalage de plus de quelques minutes bloque l’authentification pour des questions de sécurité. Une évolution de mydocker est prévue pour avoir un message clair dans ce cas.

Démarrage d’un environnement

  • Lorsque que le démarrage d’un environnement mets du temps ou échoue, très peu de retour est donné à l’utilisateur, rendant le diagnostic difficile. Cela sera progressivement amélioré dans les semaines qui viennent.

  • Le temps de démarrage d’un environnement est souvent plus long qu’il ne devrait. Cela apparaît notamment lorsque l’environnement n’a été utilisé par personne depuis le week-end précédent et nécessite donc un retéléchargement de l’image. Normalement on peut contourner cela en rechargeant la page et redemandant un environnement et cela fini par passer au bout de quelques essais. Ce problème est en cours d’analyse.

Usage

  • Symptôme: erreur Keybord interrupt et plantage de l’environnement lors d’un calcul nécessitant du parallélisme massif (par exemple apprentissage avec scikit-learn ou pytorch)
    Analyse: sur l’instance mydocker de Paris-Saclay basée sur Docker-Swarm, lorsque la limitation en nombre de CPU utilisé est atteinte, le conteneur entier est tué avec un signal SIGTERM, plutôt que de continuer en respectant la limite.
    Contournement: ne pas mettre de limite de CPU à l’environnement.

  • Le déploiement actuel ne permet pas encore la collaboration temps réel entre plusieurs utilisateurs dans le même environnement.

Suite à venir

Documentation

Concepts

myDocker mets à la disposition de ses utilisatrices et utilisateurs une variété d’environnements virtuels (ou simplement environnements), fournis à la demande; chacun de ces environnement virtuel consiste en un ensemble de ressources :

  • une interface utilisateur (ex. Jupyter, RStudio, VSCode, environnement de bureau type XFCE, terminal via SSH, ...) donnant accès à des logiciels (ex. Python, scikit-learn) et des données
  • avec un dossier personnel
  • le tout s’appuyant sur des ressources physiques: processeur (CPU, GPU), mémoire, espace disque, etc.

Lorsque l’utilisateur demande un environnement :

  1. un serveur est identifié pour héberger l’environnement
  2. l’image docker contenant les logiciels de l’environnement est téléchargée sur ce serveur (si elle n’y est pas déjà présente);
  3. une machine virtuelle légère (conteneur docker) est lancée sur le serveur;
  4. le cas échéant, le dossier personnel de l’utilisateur est monté dans la machine virtuelle;
  5. l’interface utilisateur est démarrée dans la machine virtuelle, et mise à disposition de l’utilisateur, typiquement via une nouvelle page web.

Demander un environnement

Pour demander un environnement, l’utilisateur peut au choix :

  • le sélectionner depuis son tableau de bord s’il l’a déjà utilisé;
  • ouvrir un lien web (URL) de la forme https://mydocker.../join/xxxxxxx identifie l’environnement. Cette lien peut par exemple venir de cette page de documentation du service, ou être fournie par un enseignant, par mail, sur la page web du cours, ou via un Environnement Numérique de Travail comme Moodle;
  • ouvrir une activité myDocker depuis un Environnement Numérique de Travail comme Moodle. Une telle activité utilise le protocole d’intégration LTI qui permet de transmettre à myDocker l’identité de l’utilisateur et son rôle (élève, professeur).

Dossiers personnels persistants

Dans la plupart des environnements virtuels, l’utilisatrice dispose d’un dossier pour héberger des documents personnel. Ce dossier est persistant: l’utilisatrice y retrouvera ces documents après avoir éteint puis redémarré l’environnement. Selon l’environnement, ce dossier personnel peut être dédié à l’environnement, ou partagé avec les autres environnements (global).

Pour permettre une large gamme d’usages, il n’y a actuellement pas de quota imposé. Cependant dossier personnel est conçu pour un usage interactif, pas pour du stockage de fichiers sur le long terme. Aussi il n’y a pas de garanties de sauvegarde ou de préservation de longue durée (plusieurs années).

Nous comptons sur votre coopération pour nous permettre de conserver une politique des données libérales. Nous nous réservons le droit d’intervenir sans préavis pour, par exemple, nettoyer des fichiers temporaires facilement reconstructibles (typiquement cache pip, conda, ...) ou des contenus illégaux. Ou avec préavis pour d’autres fichiers volumineux.

Rôles: élève, professeur, administrateur

myDocker ne fait pas de différence entre les utilisateurs pour utiliser des environnements virtuels: une fois dans l’un d’entre eux, on est sur une machine linux générique avec un compte local; comme par exemple en salle de TP.

Le rôle de «Professeur» permet en outre à l’utilisateur de définir et mettre à disposition de nouvelles images et nouveaux environnements, via un onglet dédié sur le tableau de bord de myDocker. On peut avoir le rôle de Professeur parce que l’établissement auprès du quel on s’est authentifié a indiqué que l’on était personnel de l’établissement et non étudiant, ou parce qu’un admin a donné le rôle de Professeur.

Le rôle d’«Administrateur» permet enfin de gérer les utilisateurs (notamment de configurer leur rôle).

Comment organiser un cours utilisant myDocker

Si l’un des environnements préexistant vous convient, vous pouvez simplement indiquer à vos étudiants de l’utiliser, par exemple en leur fournissant un lien vers l’environnement.