Menu Fermer

Docker pour exécuter des containeurs : le fonctionnement

Docker est système de conteneurs (containers en anglais) basé sur Linux Containers (LXC). Il fonctionne sur Linux, est facile à utiliser et est économe en ressources.

Les conteneurs vous permettent d’étendre vos offres d’entreprise (internes ou externes) d’une manière que vous ne pourriez pas autrement. Par exemple, vous pouvez rapidement déployer plusieurs instances de Nginx (même avec plusieurs stations – comme le développement et la production). Contrairement à cela avec des machines virtuelles, les conteneurs ne gaspilleront pas les ressources du système.

Dans ce tutoriel, je vous dis tout sur Docker.

Docker pour exécuter des containeurs : le fonctionnement

Qu’est-ce qu’un Docker

Docker est donc un système de conteneurs pour Linux.
Il faut au préalable comprendre ce que sont les conteneurs.

Les conteneurs sont légers, des packages autonomes qui contiennent tout ce qui est nécessaire pour exécuter une application (code, bibliothèques, exécution, paramètres système et dépendances).
Chaque conteneur est déployé avec ses propres ressources CPU, mémoire, E/S de bloc et réseau, le tout sans avoir à dépendre d’un noyau individuel et d’un système d’exploitation.
Et c’est la plus grande différence entre un conteneur et une machine virtuelle; Alors qu’une machine virtuelle est une plate-forme de système d’exploitation à part entière, fonctionnant sur un système d’exploitation hôte, un conteneur ne l’est pas.

Docker rend la création, le déploiement et la gestion des conteneurs incroyablement simples.
Grâce à lui, vous allez pouvoir déployer très facilement des applications dans des conteneurs.

Les conteneurs Docker poussent un logiciel dans un système de fichiers complet qui contient tout ce dont il a besoin: code, exécution, outils système, bibliothèques système – tout ce que vous pouvez installer sur un serveur. Cela garantit qu’il fonctionnera toujours de la même manière, quel que soit l’environnement dans lequel il fonctionne.

Docker s’exécute nativement sur Linux et dans des environnements virtualisés sur Mac OS X et MS Windows. Les bons Docker ont rendu l’installation très facile sur les trois plates-formes.

Quelle est l’architecture de Docker ?

Docker rend la création, le déploiement et la gestion des conteneurs incroyablement simples.

Les images Docker servent de blocs de construction de vos conteneurs. Vous pouvez pousser une image et déployer autant de conteneurs que vous en avez besoin à partir de cette image.
Vous pouvez créer vos propres images ou utiliser uniquement celles créées par d’autres et publiées dans un registre Docker.

Un registre Docker stocke des images Docker. Docker Hub est un registre public que n’importe qui peut utiliser, et Docker est configuré pour rechercher des images sur Docker Hub par défaut. Vous pouvez même exécuter votre propre registre privé.

L’isolement et la sécurité vous permet d’exécuter de nombreux conteneurs simultanément sur un hôte donné. Les conteneurs sont légers et contiennent tout ce qui est nécessaire pour exécuter l’application, vous n’avez donc pas besoin de compter sur ce qui est actuellement installé sur l’hôte.

Quelle est l'architecture de Docker ?

Cela rend Docker hautement flexible.

Qu’est-ce qu’une image Docker ?

Une image Docker est un fichier immuable (non modifiable) qui contient le code source, les bibliothèques, les dépendances, les outils et d’autres fichiers nécessaires à l’exécution d’une application.

En raison de leur qualité de lecture seule, ces images sont parfois appelées “instantanés”. Elles représentent une application et son environnement virtuel à un moment précis dans le temps. Cette cohérence est l’une des grandes caractéristiques de Docker. Elle permet aux développeurs de tester et d’expérimenter des logiciels dans des conditions stables et uniformes.

Comme les images ne sont, d’une certaine manière, que des modèles (template), vous ne pouvez pas les démarrer ou les exécuter. Ce que vous pouvez faire, c’est utiliser ce modèle comme base pour construire un conteneur. Un conteneur n’est, en fin de compte, qu’une image en cours d’exécution. Une fois que vous avez créé un conteneur, il ajoute une couche inscriptible par-dessus l’image immuable, ce qui signifie que vous pouvez maintenant la modifier.

La base d’images sur laquelle vous créez un conteneur existe séparément et ne peut être modifiée. Lorsque vous exécutez un environnement conteneurisé, vous créez essentiellement une copie en lecture-écriture de ce système de fichiers (image docker) à l’intérieur du conteneur. Cela ajoute une couche de conteneur qui permet de modifier la copie entière de l’image.

Schéma explicatif d'une image Docker

Une application dans un conteneur peut fonctionner sur n’importe quel système sur lequel docker est installé. Il n’est donc pas nécessaire de construire et de configurer l’application plusieurs fois sur les différentes plateformes.

Qu’est-ce qu’un containeur Dock ?

Un conteneur Docker est un environnement d’exécution virtualisé dans lequel les utilisateurs peuvent isoler les applications du système sous-jacent. Ces conteneurs sont des unités compactes et portables dans lesquelles vous pouvez démarrer une application rapidement et facilement.

Les conteneurs étant autonomes, ils offrent une forte isolation, garantissant qu’ils n’interrompent pas les autres conteneurs en cours d’exécution, ainsi que le serveur qui les prend en charge. Docker affirme que ces unités “offrent les capacités d’isolation les plus fortes du secteur”. Par conséquent, vous n’aurez pas à vous soucier de la sécurité de votre machine pendant le développement d’une application.

Contrairement aux machines virtuelles (VM), où la virtualisation se fait au niveau du matériel, les conteneurs sont virtualisés au niveau des applications. Ils peuvent utiliser une machine, partager son noyau et virtualiser le système d’exploitation pour exécuter des processus isolés. Les conteneurs sont donc extrêmement légers, ce qui vous permet de conserver des ressources précieuses.

Schéma explicatif des conteneurs Docker

Quand utiliser Docker ?

La plate-forme basée sur les conteneurs de Docker permet des charges de travail hautement portables. Les conteneurs Docker peuvent fonctionner sur l’ordinateur portable local d’un développeur, sur des machines physiques ou virtuelles dans un centre de données, sur des fournisseurs de cloud ou dans un mélange d’environnements.

Vous pouvez utiliser Docker dans un environnement de développement.
Les développeurs écrivent du code localement et partagent leur travail avec leurs collègues à l’aide de conteneurs Docker.
Lorsque les développeurs trouvent des bogues, ils peuvent les corriger dans l’environnement de développement et les redéployer dans l’environnement de test pour les tests et la validation.
Une fois le test terminé, obtenir le correctif au client est aussi simple que de pousser l’image mise à jour vers l’environnement de production.

La portabilité et la nature légère de Docker facilitent également la gestion de la charge de travail dynamiquement, la mise à l’échelle des applications et des services à mesure que les besoins de l’entreprise dictent, en temps quasi réel.
Docker peut donc aussi être utilisé dans des environnement de production.

Liens

Source(s) :
https://docs.docker.com/get-started/overview/[/su_source]