‫Si vous recherchez une définition du conteneur sur le Web, vous verrez souvent des gens
‫comparer des conteneurs à des machines virtuelles.
‫Certes, il y a des similitudes, mais il y a tellement de choses qui ne sont tout simplement pas les mêmes.
‫Je veux que nous sauvegardions et disions que nous ne les comparons même pas aux machines virtuelles. Parce qu'en réalité, ils ne
‫sont qu'un processus. C'est un processus qui
‫s'exécute sur votre système d'exploitation hôte, dans notre cas, Linux. Jetons un coup d'oeil car il est très facile de comprendre le
‫concept qui n'est en réalité qu'un processus restreint dans notre système d'exploitation hôte et qui ne ressemble en rien à une machine virtuelle.
‫Commençons par créer une base de données Mongo.
‫Nous allons l'appeler mongo. Nous allons l'exécuter en arrière-plan.
‫Et nous utilisons l'image Mongo.
‫D'accord. Nous pouvons voir que cela fonctionne et Docker a aussi quelque chose
‫appelé docker top qui me permettra de lister les processus qui s'exécutent dans un conteneur spécifique.
‫Nous verrons là que nous avons un processus unique appelé Mongod.
‫Vous pouvez voir que c'est le PID, qui est son identifiant de processus. Nous pouvons également le faire à partir de l'hôte. Comme il s’agit d’un
‫processus en cours d’exécution sur notre
‫système d’exploitation hôte, tout outil hôte que j’utiliserais pour examiner les processus le verra.
‫Nous pouvons utiliser une liste de processus, par exemple. Je vais tous les énumérer sur le système. En fait, vous verrez
‫ici, si je cherche, l'un d'eux s'appelle Mongod. Vous remarquerez même qu'il fonctionne sous un ID de
‫processus différent de celui du reste du système.
‫Et ce n'est qu'à cause des couches de sécurité dont nous parlerons avec les conteneurs et de
‫leur différence avec les processus ordinaires exécutés sur l'hôte.
‫Nous pouvons clairement voir ici qu'il s'agit d'un processus sur l'hôte.
‫Cela ne se cache pas dans une machine virtuelle à laquelle nous ne pouvons pas accéder.
‫C'est juste là devant nous.
‫Si j'arrête ce conteneur,
‫vous pouvez faire un docker ps. Vous verrez que ça ne fonctionne pas.
‫Vous pouvez faire un docker top mongo.
‫En fait, cela ne va rien nous donner car le conteneur ne fonctionne pas.
‫Et si nous faisons un ps aux, et que nous recherchons
‫à nouveau
‫mongo, nous ne verrons rien en surbrillance dans cette liste. Je cherche en fait dans mon terminal.
‫Une méthode plus simple consiste
‫à faire ps aux, puis à utiliser grep, un outil de filtrage qui examine la sortie et que nous pouvons lui indiquer de rechercher le
‫mot mongo.
‫La seule chose qu'il va réellement trouver est la commande que je lance simplement pour rechercher le mot
‫mongo.
‫C'est la liste que. Nous nous attendrions à voir
‫une autre commande ici juste en dessous, une
‫autre sortie d'un processus, s'il était effectivement en cours d'exécution. Nous pouvons recommencer à nouveau, docker start mongo, car ce conteneur était
‫toujours là, mais ne fonctionnait pas
‫en arrière-plan, un peu comme un processus arrêté. Nous pouvons refaire un docker ps et il est de nouveau opérationnel.
‫Nous pouvons refaire un docker top mongo et voir qu’un processus s’exécute à nouveau dans le conteneur.
‫Il vient d'être commencé nouveau.
‫Cela ne dure que six secondes, comme nous pouvons le voir ici.
‫Si nous faisons un ps aux grep mongo, vous verrez que je suis en train de voir le processus mongod.