Lancer des containers
Un avantage de Docker est qu'il existe un énorme bibliothèque d'Images déjà construits pour notre utilisation, qui s'appelle Docker Hub.
Attention : nous allons lancer Docker directement sur votre système hôte, et pas dans VSCode !
D'abord, lancez Docker Desktop si vous êtes sur Windows ou Mac.
Sur Windows : vous ouvrez PowerShell
Sur Linux et Mac : vous ouvrez un Terminal
Nous allons lancer notre premier Container, qui s'appelle Hello World
Vous allez voir le suivant, par exemple :
D'abord, l'image n'existe pas en local, donc Docker le télécharge ("pull"). Une fois l'image dans le cache local de notre machine, un nouveau Container est crée sur la base de cet Image. Dans l'image il n'y qu'une seule commande qui émet "Hello from Docker".
On peut tourner n'importe quelle image qui existe sur Docker Hub:
Essayez de voir la version de Ubuntu en tapant, dans le container :
Taper exit
pour quitter l'interprète. Le processus du Container, bash
va quitter, et donc le Container est détruit.
Essayez avec une autre image :
Ici, on instancie l'image officielle de NodeJS avec la version 18 de node, et on lance l'interprète node
. Au réplique, on peut taper du javascript !
Essayez avec Python :
Nous n'avons pas installé python sur notre ordinateur, mais on a pu lancer l'interprète avec Docker.
Moniteur d'activités docker
Docker nous fourni beaucoup de fonctionnalités via sa commande docker
.
Par exemple, je peux lister tous les processus gérés par Docker avec :
Une liste de processus docker est émis, qui indique :
Le ID unique de chaque Container
L'image sur laquelle le Container est crée
La commande qui tourne
...
Les ports ouverts par le Container
Le nom du Container (s'il en a un)
Surveiller les journaux d'un Container
Ayant le ID d'un container qui tourne, je peux consulter les journaux émis :
J'ai ajouté 2 paramètres facultatifs mais utiles :
--follow
va bloquer le terminal, et afficher en temps réel les nouevaux événements qui arrivent--tail 5
va commencer uniquement à la fin des logs (sinon on va devoir parcourir le tout avant d'arriver à la fin)
Arrêter un Container
Pour arrête un container :
Vous allez remarquer que le container soit enlevé, si vous faîte docker ps
. Cette commande arrête le container, mais elle est juste mis en suspense.
Lister les Containers
On peut voir les containers sur notre machine avec :
Avec cette commande on voit tous les containers, et leur statuts, y compris ceux qui sont arrêtés.
Supprimer les Containers
On peut donc supprimer définitivement les Containers qui sont déjà quittés, afin de libérer de la place sur notre ordinateur :
Lister / Supprimer les Images
De la même façon on peut lister et supprimer les Images :
Attention, on ne peut supprimer une image seulement s'il n'y a plus de Container (même qui a déjà arrêté) à la base de cette image.
Nettoyer Docker
Vous avez peut-être constaté que Docker pourrait vite consommer beaucoup de place sur nos disques, entre toutes les Images et tous les containers.
On pourrait faire le menage en faisant :
On a pas encore parlé de Volumes, mais on peut aussi supprimer les volumes non-utilisés avec :
Dernière mise à jour