Outils pour utilisateurs

Outils du site


reseau:docker:utiliserdocker

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édentesRévision précédente
Prochaine révision
Révision précédente
reseau:docker:utiliserdocker [2024/12/08 22:24] – [Utiliser les conteneurs] techer.charles_educ-valadon-limoges.frreseau:docker:utiliserdocker [2026/06/21 11:54] (Version actuelle) – [Afficher les logs du conteneur] techer.charles_educ-valadon-limoges.fr
Ligne 133: Ligne 133:
 Lancez un conteneur Ubuntu. Comme précédemment, le conteneur est ensuite arrêté mais existe bien. La colonne COMMAND indique que le processus qui a été lancé est cette fois-ci un shell Bash. Lancez un conteneur Ubuntu. Comme précédemment, le conteneur est ensuite arrêté mais existe bien. La colonne COMMAND indique que le processus qui a été lancé est cette fois-ci un shell Bash.
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker run ubuntu +$ docker run ubuntu 
-btssio@ubuntudocker:~$ docker ps -a+$ docker ps -a
 CONTAINER ID IMAGE  COMMAND     CREATED  STATUS   PORTS  NAMES CONTAINER ID IMAGE  COMMAND     CREATED  STATUS   PORTS  NAMES
 b5ec671c6d11 ubuntu "/bin/bash" 21 s ago Exited …       laughing_ride b5ec671c6d11 ubuntu "/bin/bash" 21 s ago Exited …       laughing_ride
Ligne 191: Ligne 191:
  
  
-Pour lancer un conteneur en lui faisant exécuter une commande spécifique (et non seulement celle prévue par défaut) : +==== Lancer un conteneur en lui faisant exécuter une commande spécifique (et non seulement celle prévue par défaut) ==== 
-• user@servDockerAR:~ docker run ubuntu cat /etc/lsb-release+<code> 
 +$ docker run ubuntu cat /etc/lsb-release
 DISTRIB_ID=Ubuntu DISTRIB_ID=Ubuntu
-DISTRIB_RELEASE=22.04 +DISTRIB_RELEASE=24.04 
-DISTRIB_CODENAME=jammy +DISTRIB_CODENAME=noble 
-DISTRIB_DESCRIPTION="Ubuntu 22.04.LTS"+DISTRIB_DESCRIPTION="Ubuntu 24.04.LTS" 
 +</code>
 La commande run a lancé un conteneur à partir de l’image ubuntu et a exécuté dessus la commande cat pour afficher le fichier de version d’ubuntu. La commande run a lancé un conteneur à partir de l’image ubuntu et a exécuté dessus la commande cat pour afficher le fichier de version d’ubuntu.
  
-Nous pouvons voir qu’un troisième conteneur non actif existe (avec dans la colonne « COMMAND » «  cat /etc/lsb-release » +Pour visualiser l'existance de ce conteneur non actif avecdans la colonne **COMMAND** "cat /etc/lsb-release
-• user@servDockerAR:~ docker ps -a +<code> 
-CONTAINER ID IMAGE COMMAND CREATED STATUS   NAMES +$ docker ps -a 
-25366713428d ubuntu "/bin/bash" seconds ago  Exited (0) 5 seconds ago sad_jennings +CONTAINER ID  IMAGE  COMMAND                CREATED        STATUS                PORTS NAMES 
-e85b97b93c8a ubuntu "/bin/bash" 9 seconds ago Exited (0) 7 seconds ago jolly_wilson +907a2cb48db5  ubuntu "cat /etc/lsb-release44 seconds ago Exited (0) 43 s       distracted_wilbur 
-fe1a6bd9fb64 ubuntu  "cat /etc/lsb-release  7 seconds ago Exited (0) 5 seconds ago gracious_alle+</code> 
 +Il est ainsi possible de retrouver très facilement de multiples conteneurs totalement inutiles qu’il faut supprimer. 
 + 
 +==== Supprimer un conteneur ==== 
 +docker rm <id conteneur> ou docker rm <nom du conteneur> 
 + 
 +<code> 
 +$ docker rm distracted_wilbur 
 +</code> 
 +Seul un conteneur avec un statut **exited** peut être supprimé. Si un conteneur est actif, il faut soit le stopper avant soit utiliser l’option -f : docker rm -f <conteneur> 
 + 
 +==== Lancer un conteneur en programmant sa suppression ==== 
 +Si, par exemple, le conteneur a pour seule vocation de lancer une commande, il est inutile de le conserver sur la machine hôte et il peut être supprimé dès qu’il a rempli sa fonction, comme nous l’avons fait avec le conteneur **hello-world** : cela peut se faire avec l’option **-- rm** : 
 + 
 +<code> 
 +$  docker run --rm ubuntu cat /etc/lsb-release 
 +</code> 
 +Tant qu’un conteneur n’est pas supprimé, son environnement est sauvegardé et il peut être relancé. 
 + 
 +==== Relancer un conteneur ==== 
 +docker start <id conteneur> ou docker start <nom du conteneur> 
 + 
 +  * Par défaut, le conteneur est relancé en arrière plan, donc rien ne s’affiche, pour le lancer au premier plan, il faut utiliser l’option -a. 
 + 
 +<code> 
 +$  docker start -a laughing_ride 
 +</code> 
  
-• Nous pouvons nous retrouver très facilement avec de multiples conteneurs totalement inutiles qu’il faut supprimer. 
  
 ==== Lancer un conteneur en mode interactif ==== ==== Lancer un conteneur en mode interactif ====
Ligne 213: Ligne 241:
   * ouvrir une console pour que vous puissiez saisir des commandes : paramètre -t.   * ouvrir une console pour que vous puissiez saisir des commandes : paramètre -t.
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker run -i -t ubuntu+$ docker run -i -t ubuntu
 root@394beb25ab78:/# ls root@394beb25ab78:/# ls
 bin   dev  home  lib64  mnt  proc  run   srv  tmp  var bin   dev  home  lib64  mnt  proc  run   srv  tmp  var
Ligne 240: Ligne 268:
 Pour lancer un conteneur arrêté avec son identifiant ou son nom : Pour lancer un conteneur arrêté avec son identifiant ou son nom :
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker start ID_ou_son_nom+$ docker start ID_ou_son_nom
 </code> </code>
  
 ==== Autre commande pour visualiser les conteneurs actifs ==== ==== Autre commande pour visualiser les conteneurs actifs ====
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker container ls+$ docker container ls
 </code> </code>
  
Ligne 252: Ligne 280:
 Lors du lancement d’un conteneur, on perd l’accès à la console du serveur Ubuntu. Cette commande permet de lancer le conteneur et de retrouver le shell du serveur sans arrêter le conteneur. Lors du lancement d’un conteneur, on perd l’accès à la console du serveur Ubuntu. Cette commande permet de lancer le conteneur et de retrouver le shell du serveur sans arrêter le conteneur.
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker run -i -t -d ubuntu+$ docker run -i -t -d ubuntu
 e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1
-btssio@ubuntudocker:~$ docker ps+$ docker ps
 CONTAINER ID IMAGE  COMMAND     CREATED        STATUS PORTS NAMES CONTAINER ID IMAGE  COMMAND     CREATED        STATUS PORTS NAMES
 e70a11313849 ubuntu "/bin/bash" 3 seconds ago  Up 2 s       gallant_kilby e70a11313849 ubuntu "/bin/bash" 3 seconds ago  Up 2 s       gallant_kilby
Ligne 261: Ligne 289:
 On peut aussi écrire les paramètres de la façon suivante : On peut aussi écrire les paramètres de la façon suivante :
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker run -itd ubuntu+$ docker run -itd ubuntu
 </code> </code>
 ==== Se connecter à un conteneur lancé ==== ==== Se connecter à un conteneur lancé ====
Ligne 268: Ligne 296:
  
   * S’attacher à la console du conteneur : **ATTENTION**, en quittant le shell, cela arrête le processus shell et donc le conteneur :   * S’attacher à la console du conteneur : **ATTENTION**, en quittant le shell, cela arrête le processus shell et donc le conteneur :
 +
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker attach gallant_kilby+$ docker attach gallant_kilby
 root@e70a11313849:/# root@e70a11313849:/#
 </code> </code>
  
   * Pour quitter le conteneur mais en le laissant s’exécuter en arrière-plan :   * Pour quitter le conteneur mais en le laissant s’exécuter en arrière-plan :
 +
 <code> <code>
 Ctrl + p + q. Ctrl + p + q.
Ligne 279: Ligne 309:
  
   * Pour lancer un processus shell (commande ls par exemple) dans un conteneur en cours d'exécution :    * Pour lancer un processus shell (commande ls par exemple) dans un conteneur en cours d'exécution : 
 +
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker exec -it gallant_kilby ls+$ docker exec -it gallant_kilby ls
 bin bin
 boot boot
 dev dev
 ... ...
-btssio@ubuntudocker:~+
 </code> </code>
    
 +==== Afficher les logs du conteneur ====
 +
 +Si la **persistance des logs en local n'est pas configurée** (cela sera vu dans une autre activité), cette commande est utile notamment si la création du conteneur se passe mal et si l’accès au service Web n’est pas possible (cette commande ne renvoie rien dans ce cas si tout se passe bien).
 +
 +  * Pour visualiser les log d'un conteneur appelé servweb : 
 +
 +<code shell>
 +docker logs servweb
 +</code>
 +
 +  * Pour visualiser les logs en continu : 
 +
 +<code shell>
 +docker logs servweb -f
 +</code>
 +
 ==== Obtenir la liste des modifications d’un conteneur par rapport à son image de lancement ==== ==== Obtenir la liste des modifications d’un conteneur par rapport à son image de lancement ====
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker diff 394beb25ab78+$ docker diff 394beb25ab78
 C /root C /root
 A /root/.bash_history A /root/.bash_history
 A /root/docker.txt A /root/docker.txt
-btssio@ubuntudocker:~$+$
 </code> </code>
 Cette commande utilise la syntaxe diff/patch en Linux : Cette commande utilise la syntaxe diff/patch en Linux :
Ligne 328: Ligne 375:
  
 <code shell> <code shell>
-$ docker run -e=IPAPIWEB=192.168.1.200 ubuntu env+$ docker run -e=IPAPIWEB="192.168.1.200ubuntu env
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
 HOSTNAME=2352eb733166 HOSTNAME=2352eb733166
Ligne 370: Ligne 417:
 Lors du lancement d’un conteneur, on perd l’accès à la console du serveur Ubuntu. Cette commande permet de lancer le conteneur et de retrouver le shell du serveur sans arrêter le conteneur. Lors du lancement d’un conteneur, on perd l’accès à la console du serveur Ubuntu. Cette commande permet de lancer le conteneur et de retrouver le shell du serveur sans arrêter le conteneur.
 <code shell> <code shell>
-btssio@ubuntudocker:~$ docker run -i -t -d ubuntu+$ docker run -i -t -d ubuntu
 e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1
-btssio@ubuntudocker:~$ docker ps+$ docker ps
 CONTAINER ID IMAGE  COMMAND     CREATED        STATUS PORTS NAMES CONTAINER ID IMAGE  COMMAND     CREATED        STATUS PORTS NAMES
 e70a11313849 ubuntu "/bin/bash" 3 seconds ago  Up 2 s       gallant_kilby e70a11313849 ubuntu "/bin/bash" 3 seconds ago  Up 2 s       gallant_kilby
Ligne 380: Ligne 427:
 Pour accéder ensuite à ce conteneur on utilise la commande attach avec l’identifiant ou le nom du conteneur : Pour accéder ensuite à ce conteneur on utilise la commande attach avec l’identifiant ou le nom du conteneur :
 <code shell> <code shell>
-btssio@ubuntudocker:~/Documents/lab_exercice$ docker attach e70a11313849+$ docker attach e70a11313849
 root@e70a11313849:/# root@e70a11313849:/#
 </code> </code>
reseau/docker/utiliserdocker.1733693095.txt.gz · Dernière modification : 2024/12/08 22:24 de techer.charles_educ-valadon-limoges.fr