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 [2024/12/10 16:41] (Version actuelle) 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>
    
 ==== 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 359:
  
 <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 401:
 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 411:
 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