reseau:docker:utiliserdocker
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
reseau:docker:utiliserdocker [2024/12/08 22:23] – [Récupérer une image dans sa dernière version] techer.charles_educ-valadon-limoges.fr | reseau: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, | Lancez un conteneur Ubuntu. Comme précédemment, | ||
<code shell> | <code shell> | ||
- | btssio@ubuntudocker: | + | $ docker run ubuntu |
- | btssio@ubuntudocker: | + | $ docker ps -a |
CONTAINER ID IMAGE COMMAND | CONTAINER ID IMAGE COMMAND | ||
b5ec671c6d11 ubuntu "/ | b5ec671c6d11 ubuntu "/ | ||
Ligne 189: | Ligne 189: | ||
Le conteneur ubuntu lancé prévoit bien l’exécution d’un processus shell mais il s’est ensuite automatiquement arrêté. En effet, comme rien n’a été précisé lors du lancement pour que vous puissiez utiliser ce shell, le conteneur a considéré que l’action à faire, lancer un shell et rien d’autre, est terminée. Il s’arrête donc. | Le conteneur ubuntu lancé prévoit bien l’exécution d’un processus shell mais il s’est ensuite automatiquement arrêté. En effet, comme rien n’a été précisé lors du lancement pour que vous puissiez utiliser ce shell, le conteneur a considéré que l’action à faire, lancer un shell et rien d’autre, est terminée. Il s’arrête donc. | ||
+ | |||
+ | |||
+ | ==== Lancer un conteneur en lui faisant exécuter une commande spécifique (et non seulement celle prévue par défaut) ==== | ||
+ | < | ||
+ | $ docker run ubuntu cat / | ||
+ | DISTRIB_ID=Ubuntu | ||
+ | DISTRIB_RELEASE=24.04 | ||
+ | DISTRIB_CODENAME=noble | ||
+ | DISTRIB_DESCRIPTION=" | ||
+ | </ | ||
+ | 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. | ||
+ | |||
+ | Pour visualiser l' | ||
+ | < | ||
+ | $ docker ps -a | ||
+ | CONTAINER ID IMAGE COMMAND | ||
+ | 907a2cb48db5 | ||
+ | </ | ||
+ | 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> | ||
+ | |||
+ | < | ||
+ | $ docker rm distracted_wilbur | ||
+ | </ | ||
+ | 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 < | ||
+ | |||
+ | ==== 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** : | ||
+ | |||
+ | < | ||
+ | $ docker run --rm ubuntu cat / | ||
+ | </ | ||
+ | Tant qu’un conteneur n’est pas supprimé, son environnement est sauvegardé et il peut être relancé. | ||
+ | |||
+ | ==== Relancer un conteneur ==== | ||
+ | docker start <id conteneur> | ||
+ | |||
+ | * Par défaut, le conteneur est relancé en arrière plan, donc rien ne s’affiche, | ||
+ | |||
+ | < | ||
+ | $ docker start -a laughing_ride | ||
+ | </ | ||
+ | |||
+ | |||
==== Lancer un conteneur en mode interactif ==== | ==== Lancer un conteneur en mode interactif ==== | ||
Ligne 195: | 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 |
root@394beb25ab78:/# | root@394beb25ab78:/# | ||
bin | bin | ||
Ligne 222: | 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 |
</ | </ | ||
==== Autre commande pour visualiser les conteneurs actifs ==== | ==== Autre commande pour visualiser les conteneurs actifs ==== | ||
<code shell> | <code shell> | ||
- | btssio@ubuntudocker: | + | $ docker container ls |
</ | </ | ||
Ligne 234: | 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 |
e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | ||
- | btssio@ubuntudocker: | + | $ docker ps |
CONTAINER ID IMAGE COMMAND | CONTAINER ID IMAGE COMMAND | ||
e70a11313849 ubuntu "/ | e70a11313849 ubuntu "/ | ||
Ligne 243: | 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 |
</ | </ | ||
==== Se connecter à un conteneur lancé ==== | ==== Se connecter à un conteneur lancé ==== | ||
Ligne 250: | Ligne 296: | ||
* S’attacher à la console du conteneur : **ATTENTION**, | * S’attacher à la console du conteneur : **ATTENTION**, | ||
+ | |||
<code shell> | <code shell> | ||
- | btssio@ubuntudocker: | + | $ docker attach gallant_kilby |
root@e70a11313849:/# | root@e70a11313849:/# | ||
</ | </ | ||
* 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 : | ||
+ | |||
< | < | ||
Ctrl + p + q. | Ctrl + p + q. | ||
Ligne 261: | Ligne 309: | ||
* Pour lancer un processus shell (commande ls par exemple) dans un conteneur en cours d' | * Pour lancer un processus shell (commande ls par exemple) dans un conteneur en cours d' | ||
+ | |||
<code shell> | <code shell> | ||
- | btssio@ubuntudocker: | + | $ docker exec -it gallant_kilby ls |
bin | bin | ||
boot | boot | ||
dev | dev | ||
... | ... | ||
- | btssio@ubuntudocker: | + | $ |
</ | </ | ||
==== 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 |
C /root | C /root | ||
A / | A / | ||
A / | A / | ||
- | btssio@ubuntudocker: | + | $ |
</ | </ | ||
Cette commande utilise la syntaxe diff/patch en Linux : | Cette commande utilise la syntaxe diff/patch en Linux : | ||
Ligne 310: | Ligne 359: | ||
<code shell> | <code shell> | ||
- | $ docker run -e=IPAPIWEB=192.168.1.200 ubuntu env | + | $ docker run -e=IPAPIWEB="192.168.1.200" |
PATH=/ | PATH=/ | ||
HOSTNAME=2352eb733166 | HOSTNAME=2352eb733166 | ||
Ligne 352: | 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 |
e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | ||
- | btssio@ubuntudocker: | + | $ docker ps |
CONTAINER ID IMAGE COMMAND | CONTAINER ID IMAGE COMMAND | ||
e70a11313849 ubuntu "/ | e70a11313849 ubuntu "/ | ||
Ligne 362: | 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: | + | $ docker attach e70a11313849 |
root@e70a11313849:/# | root@e70a11313849:/# | ||
</ | </ |
reseau/docker/utiliserdocker.1733693011.txt.gz · Dernière modification : 2024/12/08 22:23 de techer.charles_educ-valadon-limoges.fr