Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
aide:docker_etudiants [31/05/2017 16:48]
Chantrein Jean-Mathieu [Images disponibles]
aide:docker_etudiants [24/02/2021 12:12] (Version actuelle)
Chantrein Jean-Mathieu [Nos images docker chez vous]
Ligne 1: Ligne 1:
 +^  [[technique:​accueil#​mots_cles|Mots clés]] ​ | {{tag> docker}} ​ |
 +
 ====== Utilisation de docker ====== ====== Utilisation de docker ======
  
 Si toutefois, vous ne trouviez pas la réponse à vos questions sur cette page, vous pouvez venir poser vos questions à Jean-Mathieu en H105. Si toutefois, vous ne trouviez pas la réponse à vos questions sur cette page, vous pouvez venir poser vos questions à Jean-Mathieu en H105.
 +
 ===== Problèmes récurrents ===== ===== Problèmes récurrents =====
  
-  * Je n'ai plus d'​espace disque, mon dossier /var est imposant. +Voir [[aide:docker|Fondements ​de la technologie Docker]]
---> Soit vous ne supprimez pas assez souvent (voir pas du tout) vos conteneurs. Les conteneurs ne sont pas faits pour stocker des informations. Ils doivent être utilisés pour fournir un environnement (un serveur, une application). Les données importantes (si il y en a) doivent être localisées en dehors du conteneur. C'est le cas dans les alias que vous fournissent les enseignants (l'​option -v). Tous vos conteneurs finissent par prendre de la place, beaucoup de place, il faut donc les supprimer ​: +
- +
-  ​docker ​stop `docker ps -aq` # back quote AltGr + 7 +
-  docker rm `docker ps -aq` +
-  # Pour info: docker ps -a liste en mode verbeux tout les conteneurs (lancés ou à l'​arrêt),​ -q permet ​de ne voir s'​afficher que les identifiants des conteneurs +
- +
-<note important>​Astuce:​ Utiliser l'​option --rm dans la commande de lancement d'un conteneur, exemple avec l'​image android-dev:​ +
- +
-  docker run --rm -e DISPLAY=$DISPLAY -v /​tmp/​.X11-unix:/​tmp/​.X11-unix -v ${HOME}/​AndroidProjects:/​home/​android/​AndroidProjects -v /​dev/​bus/​usb:/​dev/​bus/​usb --device=/​dev/​bus/​usb:/​dev/​bus/​usb:​rwm -ti android-dev:​latest +
- +
-Cela permet de supprimer le conteneur dès que celui-ci est arrêté.  +
-</​note>​ +
- +
---> Soit vous avez trop d'​images et de trop grande taille, il faut faire le ménage: +
- +
-  docker images # liste les images +
-  docker rmi mon_image # supprime l'​image mon_image +
- +
---> Dans le cas ou vous auriez quand même des données importantes dans un conteneur. Voici une méthode pour les pérenniser : +
- +
-  docker commit nom_conteneur nom_nouvelle_image # Permet de créer l'​image nom_nouvelle_image +
-  docker rm -f nom_conteneur # Supprime le conteneur avec les données sensibles +
-  docker run -it nom_nouvelle_image /bin/bash # Lance un conteneur avec les données sensibles qui désormais persistent dans l'​image nom_nouvelle_image +
- +
-<note important>​Attention,​ en cas de suppression de l'​image nom_nouvelle_image : +
- +
-  # docker rmi nom_nouvelle_image +
- +
-Vous perdez les données sensibles liées à l'​image nom_nouvelle_image.</​note>​+
   ​   ​
 ===== Dans tous les cas ===== ===== Dans tous les cas =====
Ligne 48: Ligne 22:
             Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)             Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)
   ...   ...
-===== Sur les portables M1 M2 ===== 
- 
-==== Utilisation d'un serveur apache php mysql avec phpmyadmin ==== 
- 
-  docker load -i php-dev.tar 
-  rm php-dev.tar 
-  alias @php-dev='​docker run --rm -it --name phpDev -p 80:80 -p 3306:3306 -v $HOME/​Mes_projets_web:/​home/​php_dev/​Mes_projets_web php-dev'​ 
-  @php-dev 
- 
-Voir [[aide:​docker_etudiants#​serveur_php_mysql| utilisation du conteneur php-dev]] 
  
-===== Sur les postes AIO L3 ===== 
  
-<note important>​Docker n'est pas directement utilisable par les utilisateurs. Il faut utiliser à la place la commande wdocker</​note>​+===== Sur les postes AIO (salles de tps) =====
  
 <note important>​Tout les containers lancés sont automatiquement stoppés et supprimés chaque jour. Vous ne pouvez donc pas conserver vos configurations.</​note>​ <note important>​Tout les containers lancés sont automatiquement stoppés et supprimés chaque jour. Vous ne pouvez donc pas conserver vos configurations.</​note>​
  
-<note important>​Votre répertoire personnel (home) étant stocké à distance, docker (qui appartient au groupe root) n'a pas tous les droits sur votre home. De fait, les droits de votre home devraient être à minima en 711 afin de permettre à vos container docker d'​accéder en lecture à vos fichiers.</​note>​ 
 ==== Alias ==== ==== Alias ====
  
-Tout les alias concernant docker sont préfixés par _. Pour lister toute les commandes possibles concernant docker, il vous suffit ​donc de taper:+Tout les alias concernant docker sont préfixés par _. Pour lister toute les commandes possibles concernant docker, il vous suffit ​d'​enter la commande suivante dans un terminal:
  
-  $ _  +  $ alias | grep "​alias ​_"
- +
-et d'​appuyer deux fois sur la touche tab (auto-complétion)+
    
 ==== Commandes utiles ==== ==== Commandes utiles ====
Ligne 78: Ligne 38:
   _showImages # Liste les images disponibles   _showImages # Liste les images disponibles
   _clean # Permet de supprimer tous les conteneurs, à utiliser en cas de problème   _clean # Permet de supprimer tous les conteneurs, à utiliser en cas de problème
 +  ​
 ==== Images disponibles ==== ==== Images disponibles ====
 === Serveur php mysql === === Serveur php mysql ===
  
-  ​_php-dev ​+  ​_php7 
  
 Permet de lancer un serveur php mysql avec interface phpmyadmin, création d'un répertoire $HOME/​Mes_projets_web si celui-ci n'​existe pas, vos fichiers php, html, css, ... doivent se trouver dans ce dossier. Une fois que vous obtenez le prompt: Permet de lancer un serveur php mysql avec interface phpmyadmin, création d'un répertoire $HOME/​Mes_projets_web si celui-ci n'​existe pas, vos fichiers php, html, css, ... doivent se trouver dans ce dossier. Une fois que vous obtenez le prompt:
Ligne 93: Ligne 54:
 <note important>​Les bases de données créées dans cet environnement sont systématiquement supprimées. Vous pouvez les sauvegarder via l'​onglet exporter dans phpmyadmin</​note>​ <note important>​Les bases de données créées dans cet environnement sont systématiquement supprimées. Vous pouvez les sauvegarder via l'​onglet exporter dans phpmyadmin</​note>​
  
-<​note>​Mise à jour: La version 7 de php est disponible via _php7-dev</​note>​+=== Serveur PostgreSQL ===
  
-=== Serveur postgreSql === +Il faudra travailler dans le répertoire /​home/​pgsql_dev/​Mes_projets_pgsql
-== Mono utilisateur ==+
  
-  _pgsqlDev_mono+== Version mono-utilisateur ==
  
-Permet de lancer un serveur postgreSql en mode utilisateur unique. Vous disposez de tout les droits sur la base. Une base postgres a été créé par défaut.+  _postgresqlDev_mono
  
-  @pgsqlDev:​~/​Mes_projets_pgsql$ psql +Permet de lancer un serveur postgreSql en mode utilisateur unique. Vous disposez de tout les droits sur la base. Une base postgres a été créée par défaut. D'​autres bases sont créées au lancement du conteneur.
-  #postgresql+
  
-== Multi utilisateurs ==+  @pgsqlDev:​~/​Mes_projets_pgsql$ psql nom_base 
 +  #nom_base
  
-  _pgsqlDev_multi+== Version multi-utilisateurs ==
  
-Permet de lancer un serveur postgreSql en mode utilisateur multiple(i.e.:​ les bases sont accessibles via les autres postes du réseaux local). Vous disposez de tout les droits sur la base. Une base postgres a été créé par défaut.+  _postgresqlDev_multi
  
-  @pgsqlDev:~/​Mes_projets_pgsql$ psql +Permet de lancer un serveur postgreSql en mode utilisateur multiple (i.e.les bases sont accessibles via les autres postes du réseaux local). Vous disposez de tout les droits sur la base. Une base "​postgres"​ a été créée par défaut. D'​autres bases sont créées au lancement du conteneur.
-  #postgresql+
  
-Ou depuis un autre poste avec le client psql directement sur la machine (i.e. sans avoir à lancer de conteneur), On admet qu'un conteneur a été lancé sur le poste g105-1 et que l'on souhaite se connecter à la base depuis le poste g105-2:+  @pgsqlDev:~/​Mes_projets_pgsql$ psql nom_base 
 +  #nom_base
  
-  @g105-2:~$psql -h g105-1 -U postgres +Après création d'une base et attribution des droits, un autre utilisateur peut accéder à la base créée depuis un autre poste avec le client ​psql directement sur la machine (sans avoir à lancer de conteneur), On admet qu'un conteneur a été lancé sur le poste g105-1 ​et que l'on souhaite se connecter à la base nom_base depuis le poste g105-2:
-  #postgresql+
  
-ou sur une base nommé "​maSuperBase"​+  @g105-2:~$ psql -h g105-1 -U postgres -d nom_base 
 +  #nom_base
  
-  @g105-2:​~$psql -h g105-1 -U postgres -d maSuperBase +== Documentation ==
-  #​maSuperBase+
  
-=== Environnement de développement android ​(SDK===+Une documentation ​(en françaistrès complète pour l'​utilisation de PostgreSQL est disponible à l'​adresse http://​docs.postgresql.fr
  
-  _androidDev+===== Sur les portables M1 M2 =====
  
-Permet de lancer un environnement de développement android (SDK), création ​d'​un ​répertoire $HOME/​AndroidProjects si celui-ci n'​existe pas. Vos fichiers de développement doivent se trouver dans ce dossier. Une fois que vous obtenez le prompt:+==== Utilisation ​d'​un ​serveur apache php mysql avec phpmyadmin ====
  
-  ​@androidDev:​~/​AndroidProjects$ +  ​docker load -i php-dev.tar 
-   +  ​rm php-dev.tar 
-Vous pouvez lancez l'interface graphique de Android Studio de cette manière:+  alias @php-dev='docker run --rm -it --name phpDev -p 80:80 -p 3306:3306 -v $HOME/​Mes_projets_web:/​home/​php_dev/​Mes_projets_web php-dev'​ 
 +  @php-dev
  
-  _androidDev:~/​AndroidProjects$ studio +Voir [[aide:docker_etudiants#​serveur_php_mysql| utilisation du conteneur php-dev]]
-   +
-=== Environnement de développement c++/Qt SDK ===+
  
-  _cppDev 
- 
-Permet de lancer un environnement de développement c++/Qt SDK, création d'un répertoire $HOME/​Mes_projets_cpp si celui-ci n'​existe pas. Vos fichiers de développement doivent se trouver dans ce dossier. Une fois que vous obtenez le prompt: 
- 
-  @cppDev:​~/​Mes_projets_cpp$ 
-  ​ 
-Vous pouvez lancez les alias décrit au dessus du prompt (kdevelop, qtcreator, ...) 
 ===== Nos images docker chez vous ===== ===== Nos images docker chez vous =====
  
-Nous mettons à votre disposition des images docker que vous utiliserez pour certains enseignements. Vous pouvez tout a fait récupérer ces images pour les utiliser chez vous. Toutes les images sont disponible sous forme d'​archive ​sur http://docker.info-uaen local ou sur http://docker.info.univ-angers.frdepuis internet.+Nous mettons à votre disposition des images docker que vous utiliserez pour certains enseignements. Vous pouvez tout a fait récupérer ces images pour les utiliser chez vous. Toutes les images sont disponible sous forme d'​archive ​[[https://univangersfr.sharepoint.com/:f:/t/ECLERIA-Equipetechnique/EhqTAp3HWr9Eij71UQD7MIcBIpH9WTacoPkyrAYTF0jnDw?​e=GUJfHJ|ici] (vous devrez vous connecter avec vos identifiants ENT).
  
  
Ligne 177: Ligne 128:
 === Lancement des conteneurs === === Lancement des conteneurs ===
  
-<note important>​Pour les conteneurs ​nécéssitant ​l'​interface graphique, il peut être nécéssaire ​d'​appliquer la commande suivante:+<note important>​Pour les conteneurs ​nécessitant ​l'​interface graphique, il peut être nécessaire ​d'​appliquer la commande suivante:
  
   vous@votre_pc$ xhost +local:​docker   vous@votre_pc$ xhost +local:​docker
Ligne 183: Ligne 134:
 </​note>​ </​note>​
  
-  * Pour android-dev.tar: +  * Pour php7-dev-v2.1.tar:
- +
-  vous@votre_pc$ docker load -i android-dev.tar +
-  vous@votre_pc$ docker run --rm -e DISPLAY=$DISPLAY -v /​tmp/​.X11-unix:/​tmp/​.X11-unix -v ${HOME}/​AndroidProjects:/​home/​android/​AndroidProjects -ti android-dev:​latest +
- +
-  * Pour php-dev.tar:​ +
- +
-  vous@votre_pc$ docker load -i php-dev.tar +
-  vous@votre_pc$ docker run --rm -it --name phpDev -p 80:80 -p 3306:3306 -v $HOME/​Mes_projets_web:/​home/​php_dev/​Mes_projets_web php-dev +
- +
-  * Pour cpp-dev.tar:+
  
-  vous@votre_pc$ docker load -i cpp-dev.tar +  vous@votre_pc$ docker load -i php-dev-v2.1.tar 
-  vous@votre_pc$ docker run --rm -it --name ​cppDev ​-v $HOME/Mes_projets_cpp:/home/cpp_dev/Mes_projets_cpp ​-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY cpp-dev+  vous@votre_pc$ docker run --rm -it --name ​phpDev -p 80:80 -p 3306:​3306 ​-v $HOME/Mes_projets_web:/home/php_dev/Mes_projets_web php-dev-v2.1
  
 +  * Pour postgresql-dev.tar:​
  
 +  vous@votre_pc$ docker load -i postgresql-dev.tar
 +  vous@votre_pc$ docker run -it --name postgresqlDev -v $HOME/​Mes_projets_pgsql:/​home/​postgres/​Mes_projets_pgsql -p 5432:5432 --rm postgresql-dev
aide/docker_etudiants.1496242131.txt.gz · Dernière modification: 31/05/2017 16:48 par Chantrein Jean-Mathieu
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0