Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
docker:utiliser [2019/09/02 22:52] techer.charles_0870019y.campus.lyceeconnecte.fr |
docker:utiliser [2021/09/05 18:28] techer.charles_educ-valadon-limoges.fr [Récupérer une image dans sa dernière version] |
||
---|---|---|---|
Ligne 161: | Ligne 161: | ||
- | Télécharger l’image Docker ubuntu :bionic-20190424 | + | Télécharger l’image Docker ubuntu :bionic-20210827 |
<code shell> | <code shell> | ||
- | btssio@ubuntudocker: | + | btssio@ubuntudocker: |
- | bionic-20190424: Pulling from library/ | + | bionic-20210827: Pulling from library/ |
- | Digest: sha256:d26d529daa4d8567167181d9d569f2a85da3c5ecaf539cace2c6223355d69981 | + | e4ca327ec0e7: |
- | Status: Downloaded newer image for ubuntu: | + | Digest: sha256:9bc830af2bef73276515a29aa896eedfa7bdf4bdbc5c1063b4c457a4bbb8cd79 |
+ | Status: Downloaded newer image for ubuntu: | ||
+ | docker.io/ | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
REPOSITORY | REPOSITORY | ||
- | Ubuntu | + | Ubuntu |
ubuntu | ubuntu | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
Ligne 211: | Ligne 213: | ||
</ | </ | ||
Le lancement du conteneur est toujours aussi rapide et le résultat de la commande est différent puisque vous avez le **shell du conteneur** avec comme nom **l’identifiant** du nouveau conteneur lancé. | Le lancement du conteneur est toujours aussi rapide et le résultat de la commande est différent puisque vous avez le **shell du conteneur** avec comme nom **l’identifiant** du nouveau conteneur lancé. | ||
+ | |||
Vous êtes identifiés comme **root** sur la VM nommée **394beb25ab78** qui est l’identifiant du nouveau conteneur lancé et qui a servi à attribuer un nom à la VM. | Vous êtes identifiés comme **root** sur la VM nommée **394beb25ab78** qui est l’identifiant du nouveau conteneur lancé et qui a servi à attribuer un nom à la VM. | ||
- | La commande ls montre l’arborescence de la VM et non celle du serveur Ubuntu. Un fichier a été créé dans le dossier /root. | ||
- | Tapez Exit pour revenir à la machine hôte en sortant du shell et donc du conteneur qui ne faisant que tourner cet unique processus s’arrête. | + | La commande **ls** montre l’arborescence de la VM |
+ | Tapez **Exit** pour revenir à la machine hôte en sortant du shell et donc du conteneur qui ne faisant que tourner cet unique processus s’arrête. | ||
- | INPORTANT | ||
- | Toutes les modifications effectuées dans le conteneur lancé, comme la création de ce fichier docker.txt, ne modifie pas l’image ubuntu qui a servi à sa création. Les modifications ne sont faites que dans une nouvelle couche ajoutée par Docker pour gérer les modifications du système de fichiers afin de n’avoir aucun impact sur la couche inférieure, | ||
- | En lançant un nouveau conteneur, vous consterez que le dossier root ne contient pas de fichier docker.txt. | ||
- | | + | <WRAP center round important> |
- | btssio@ubuntudocker: | + | **IMPORTANT**\\ |
+ | Toutes les** modifications effectuées** dans le conteneur lancé, comme la création de ce fichier docker.txt, ne modifie pas l’image ubuntu qui a servi à sa création. Les modifications ne sont faites que dans une **nouvelle couche** ajoutée par Docker | ||
+ | En lançant un nouveau conteneur, vous consterez que le dossier root ne contient pas de fichier | ||
+ | </ | ||
+ | Pour lancer un conteneur arrêté avec son identifiant ou son nom : | ||
+ | <code shell> | ||
+ | btssio@ubuntudocker: | ||
+ | </ | ||
+ | |||
+ | === Autre commande pour visualiser les conteneurs actifs === | ||
+ | <code shell> | ||
+ | btssio@ubuntudocker: | ||
+ | </ | ||
+ | |||
+ | === Lancer un conteneur en mode détaché === | ||
- | | ||
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. | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
CONTAINER ID IMAGE COMMAND | CONTAINER ID IMAGE COMMAND | ||
e70a11313849 ubuntu "/ | e70a11313849 ubuntu "/ | ||
+ | </ | ||
On peut aussi écrire les paramètres de la façon suivante : | On peut aussi écrire les paramètres de la façon suivante : | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
+ | </ | ||
+ | === Se connecter à un conteneur lancé === | ||
- | |||
- | Se connecter à un conteneur lancé | ||
Après le lancement d’un conteneur en mode détaché, il peut être nécessaire de pouvoir accéder à la console du conteneur et donc au shell. Voici deux manières de procéder. | Après le lancement d’un conteneur en mode détaché, il peut être nécessaire de pouvoir accéder à la console du conteneur et donc au shell. Voici deux manières de procéder. | ||
- | 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 : |
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
root@e70a11313849:/# | root@e70a11313849:/# | ||
+ | </ | ||
Lancer un processus shell : en quittant la console le conteneur n’est pas arrêté : | Lancer un processus shell : en quittant la console le conteneur n’est pas arrêté : | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
root@e70a11313849:/# | root@e70a11313849:/# | ||
- | + | </ | |
- | Obtenir la liste des modifications d’un conteneur par rapport à son image de lancement | + | |
- | btssio@ubuntudocker: | + | === Obtenir la liste des modifications d’un conteneur par rapport à son image de lancement |
+ | <code shell> | ||
+ | btssio@ubuntudocker: | ||
C /root | C /root | ||
A / | A / | ||
A / | A / | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
+ | </ | ||
Cette commande utilise la syntaxe diff/patch en Linux : | Cette commande utilise la syntaxe diff/patch en Linux : | ||
- | • D pour les parties d’arborescence supprimées, | + | * D pour les parties d’arborescence supprimées, |
- | • C pour les parties d’arborescence créées | + | |
- | • A pour les ajouts : le fichier .bash_history est créé automatiquement pour stocker l’historique des actions effectuées dans le shell, et le fichier docker.txt que vous avez créé manuellement. | + | |
+ | |||
+ | === Créer une image personnalisée === | ||
- | | ||
L’image qui a servi à la création d’un conteneur n’est jamais modifiée par ce qui est fait à l’intérieur d’un conteneur. Pour que les modifications puissent faire partie d’une image, il faut créer une nouvelle, dans laquelle une nouvelle couche logicielle sera ajoutée et cette couche supplémentaire contiendra les modifications par rapport à l’image de base. | L’image qui a servi à la création d’un conteneur n’est jamais modifiée par ce qui est fait à l’intérieur d’un conteneur. Pour que les modifications puissent faire partie d’une image, il faut créer une nouvelle, dans laquelle une nouvelle couche logicielle sera ajoutée et cette couche supplémentaire contiendra les modifications par rapport à l’image de base. | ||
Ligne 267: | Ligne 287: | ||
Tout d’abord créez un conteneur et personnalisez-le : | Tout d’abord créez un conteneur et personnalisez-le : | ||
- | + | <code shell> | |
- | btssio@ubuntudocker: | + | btssio@ubuntudocker: |
root@407248dafa24:/# | root@407248dafa24:/# | ||
root@407248dafa24: | root@407248dafa24: | ||
Ligne 297: | Ligne 317: | ||
root@407248dafa24: | root@407248dafa24: | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
+ | </ | ||
En visualisant les conteneurs existants, vous retrouvez celui que vous venez de créer (ID 407248dafa24) avec le nom généré par Docker (festive_sammet) | En visualisant les conteneurs existants, vous retrouvez celui que vous venez de créer (ID 407248dafa24) avec le nom généré par Docker (festive_sammet) | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
CONTAINER ID IMAGE COMMAND | CONTAINER ID IMAGE COMMAND | ||
407248dafa24 ubuntu "/ | 407248dafa24 ubuntu "/ | ||
+ | </ | ||
Puis créez votre nouvelle image en utilisant son ID ou son nom et en lui associant un nouveau nom d’image préfixé par une information qui vous identifie : | Puis créez votre nouvelle image en utilisant son ID ou son nom et en lui associant un nouveau nom d’image préfixé par une information qui vous identifie : | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
sha256: | sha256: | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
Ligne 312: | Ligne 334: | ||
ubuntu | ubuntu | ||
… | … | ||
- | + | </ | |
- | Une nouvelle image existe avec comme nom techer/ | + | Une **nouvelle image** existe avec comme nom techer/ |
La création d’un nouveau conteneur à partir de cette nouvelle image montre qu’elle a été personnalisée : | La création d’un nouveau conteneur à partir de cette nouvelle image montre qu’elle a été personnalisée : | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
root@88085b7f2c50:/# | root@88085b7f2c50:/# | ||
docker.txt | docker.txt | ||
root@88085b7f2c50:/# | root@88085b7f2c50:/# | ||
+ | </ | ||
+ | Ce premier aperçu des possibilités de Docker est destiné à mieux comprendre la solution **Kathara** que vous allez ensuite utiliser. Cette solution utilise Docker et des scripts python pour faciliter la création et la gestion des VMs pour maquetter des infrastructures de réseau et de services. | ||
- | Ce premier aperçu des possibilités | + | ==== Quelques autres commandes |
- | 3.D Quelques autres commandes de Docker | + | === Supprimer un conteneur |
- | Supprimer un conteneur | + | <code shell> |
- | docker rm [identifiant ou nom du conteneur] | + | docker rm [identifiant ou nom du conteneur] |
+ | </ | ||
+ | === Faire le ménage === | ||
- | | ||
La commande system et sa sous-commande prune permettant de réaliser le ménage dans les conteneurs arrêtés, les images orphelines et d’autres ressources a priori non utilisées, sans supprimer les images. | La commande system et sa sous-commande prune permettant de réaliser le ménage dans les conteneurs arrêtés, les images orphelines et d’autres ressources a priori non utilisées, sans supprimer les images. | ||
- | docker system prune | + | <code shell> |
+ | docker system prune | ||
+ | </ | ||
+ | === Supprimer une image === | ||
- | | ||
Les conteneurs qui utilisent cette image doivent au préalable avoir été supprimés. Le paramètre -f force cependant la suppression si cela n’est pas le cas. | Les conteneurs qui utilisent cette image doivent au préalable avoir été supprimés. Le paramètre -f force cependant la suppression si cela n’est pas le cas. | ||
+ | <code shell> | ||
+ | docker rmi [identifiant ou nom de l’image] | ||
+ | </ | ||
- | docker | + | === Lancer un conteneur avec un nom donné === |
+ | <code shell> | ||
+ | docker | ||
+ | </ | ||
- | Lancer un conteneur | + | === Lancer un conteneur |
- | docker run --name=[nom fourni] [image] | + | |
- | | ||
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. | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | e70a11313849c4c2ce8beebe72935368b909759ab5eb4e2c2f1bcf715c1a2bd1 | ||
btssio@ubuntudocker: | btssio@ubuntudocker: | ||
CONTAINER ID IMAGE COMMAND | CONTAINER ID IMAGE COMMAND | ||
e70a11313849 ubuntu "/ | e70a11313849 ubuntu "/ | ||
+ | </ | ||
+ | === Se connecter à un conteneur lancé === | ||
- | |||
- | Ss connecter à un conteneur lancé | ||
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 : | ||
- | btssio@ubuntudocker: | + | <code shell> |
+ | btssio@ubuntudocker: | ||
root@e70a11313849:/# | root@e70a11313849:/# | ||
+ | </ | ||
- | Arrêter un conteneur | + | === Arrêter un conteneur |
- | docker stop [conteneur] | + | <code shell> |
+ | docker stop [conteneur] | ||
+ | </ | ||
- | Démarrer un conteneur arrêté | + | === Démarrer un conteneur arrêté |
- | docker start [conteneur] | + | <code shell> |
+ | docker start [conteneur] | ||
+ | </ | ||
+ | ====== Retour Accueil SISR3 ====== | ||
+ | * [[sisr3: |