Département de
Mathématiques et d'Informatique
Build, Debug, Rinse, Repeat

Cette section comporte certains projets en développement. Ils ne sont pas une solution officielle et doivent être traité comme tel. Si vous avez des suggestions pour aider un projet, vous pouvez communiquer avec son développeur. Votre aide sera grandement apprécié.

 


UBUNTU DESKTOP SUR DOCKER

Objectif: Création d'une image qui permet l'accès à un bureau Ubuntu sur Docker

 

Qui: Daniel St-Yves en collaboration avec le Prof. Fadel Touré (demande initiale)

 

Pourquoi:

  • - Permettre aux étudiants d'obtenir rapidement et facilement un OS Linux préconfiguré
  • - Logiciels: VSCode, Sublimetext, LAMPP (http:\\localhost\phpmyadmin), Intellij-Idea-Community, Android-Studio
  • - Faire la mise à jour du OS et le redistribuer comme un service sur docker
  • - Versionnage du OS

 

Défi:

La technologie conteneur sert à distribuer de petits services et non une machine de virtualisation. Il y a plusieurs problèmes et perte de performance qui sont impossibles à corriger. Il faut attendre que la communauté Docker développe et prenne le chemin de la machine virtuelle OS (ce qui ne semble pas être le cas).

 

Procédure:

  1. 1. Installer Docker Desktop sur votre ordinateur: Docker Desktop
  2. 2. Choisir les options recommandés lors de l'installation (wsl)
  3. 3. Valider que l'engin Docker démarre sur votre ordinateur
  4. 4. Ouvrir un terminal (powershell) et utiliser cette commande:

    docker run --privileged -d -t -p 3395:3389 --name dmi_ubuntu -v dmi_ubuntu_data_home:/home -v dmi_ubuntu_data_htdocs:/opt/lampp/htdocs dmiuqtr/ubuntu:latest

    Vous pouvez ajuster le CPU et mémoire avec ces arguments: --cpus="10.0" --memory="10g"
  5. 5. Une image Ubuntu sera téléchargée en provenance de notre HUB Docker. Elle sera installée puis démarrée.
  6. 6. Utiliser ce fichier .rdp pour effectuer une connexion bureau à distance local vers le OS Ubuntu qui roule sur l'engin Docker: dmi_ubuntu.rdp

    Utilisateur: dmi
    Mot de passe: dmi1234
  7. 7. Lorsque connecté, il ne vous reste qu'à installer les applications manquantes en activant le raccourci et en double-cliquant: "installer_app_manquantes"

 

Remarques:

Vos fichiers conservés sont situés dans des volumes créés par la commande docker run. Les répertoires /home et /opt/lampp/htdocs seront conservés en totalités lors de mise à jour. Il est de votre responsabilité de faire un doublon des volumes ou de simplement rapatrier les fichiers "copier\coller" entre les deux bureaux.

Par contre, toutes modifications hors de ces deux répertoires (ex. ajout d'application, configurations globales) risques de ne pas perdurer lors d'une mise à jour.

 

Bugs, problèmes: 

  • - L'application Android Studio ne peut pas émuler un appareil Android car Docker n'est pas nativement fait pour du "Nested Virtualization"
  • - L'accélération grahique est "software" l'option " --gpus all permet d'utiliser une carte graphique mais il faut installer le NVidia Container Tool (ce qui complique l'opération)
  • - Jouer avec la fenêtre VSCode, agrandir et réduire rapidement, cause une exception qui ferme le logiciel (bug de Wayland Ubuntu)

 

Autre information:

Il existe déjà un projet pour MacOSX et Windows: https://github.com/dockur/macos et https://github.com/dockur/windows


DOCKER REGISTRY SUR GITLAB

Objectif: Enregistrement d'une image docker sur DMIGit.uqtr.ca (avec les autorisations utilisateurs)

 

Qui: Daniel St-Yves en collaboration avec le Prof. Fadel Touré (demande d'un serveur Docker)

 

Pourquoi:

  • - Meilleur contrôle sur l'accès de l'image docker lorsque privé
  • - Conserver le travail d'équipe en totalité sur la même ressource
  • - Versionnage de l'image docker sur Gitlab

 

Défi:

Gestion de l'espace des images et sauvegarde plus imposante sur le serveur Gitlab

 

Préalable pour faire l'exemple:

  1. 1. Docker est installé sur l’ordinateur client et disponible en ligne de commande
  2. 2. Un projet git « test » est créé sur DMIGit.uqtr.ca dans le compte utilisateur
  3. 3. L’utilisateur à accès au projet
  4. 4. La déclaration du port « :5050 » est essentielle dans la commande

 

Procédure exemple:

  1. 1. docker pull hello-world
  2. 2. docker login dmigit.uqtr.ca:5050
  3. 3. docker tag hello-world:latest dmigit.uqtr.ca:5050/username/test
  4. 4. docker push dmigit.uqtr.ca:5050/username/test:latest
  5. 5. docker pull dmigit.uqtr.ca:5050/username/test
Pour nous joindre

Département de mathématiques et d'informatique
Pavillon : Ringuet
Local : 3074
Téléphone : 819 376-5011 poste 3802
Courriel : dir.dep.dmi@uqtr.ca
Site web : www.uqtr.ca/dmi


Site web réalisé par Daniel St-Yves - 2014
Technologie Chopin