Skip to main content

Présentation

image.png

Qu’est-ce que Docker ?

Docker est uneun plate-formeoutil ouverte pour le développement, la livraison et l'exécution d'applications. Docker vousqui permet de séparerfaire vostourner des applications de votre infrastructure afin que vous puissiez livrer rapidementdans des logiciels.conteneurs. AvecUn conteneur est un environnement léger, isolé, qui embarque tout ce qu’il faut pour faire fonctionner un programme : ses fichiers, ses dépendances, sa configuration, etc.

L’idée de Docker, vousc’est pouvezde gérerstandardiser votreet infrastructuresimplifier le déploiement d’applications. Peu importe le système d’exploitation de la mêmemachine manière(Debian, Ubuntu, Arch, etc.), tant que vous gérez vos applications. En tirant parti des méthodologies de Docker pourest expédier,installé, testeron et déployer rapidement le code, vous pouvez réduire considérablement le délai entre l'écriture du code et son exécution en production.

La plateforme docker

Docker offre la possibilité de conditionner et d'exécuter une application dans un environnement isolé appelé conteneur. L'isolation et la sécurité vous permettent d'exécuter plusieurs conteneurs simultanément sur un hôte (host, serveur) donné. Les conteneurs sont légers et contiennent tout le nécessaire pourpeut exécuter l'application,n’importe vousquel n'avezconteneur, donc pas besoin de vous fier à ce qui est actuellement installé sur l'hôte. Vous pouvez facilement partager des conteneurs pendant que vous travaillez et vous assurer que toutes les personnes avec lesquelles vous partagez reçoivent le même conteneur qui fonctionnetoujours de la même manière.

DéveloppezC’est votreune applicationsorte de boîte hermétique pour les applications, qui évite les conflits et sesfacilite composantsles mises à jour.

Comment ça fonctionne ?

Un conteneur Docker est basé sur une image. Cette image est comme une recette qui dit : "Voici les fichiers à utiliser, voici comment démarrer l’application, et voici les ports à exposer." Une fois l’image téléchargée ou créée, Docker exécute un conteneur à partir de supportcette à l'aide de conteneurs.image.

LeChaque conteneur devientest l'unitéisolé, demais distributionutilise le noyau du système hôte, ce qui le rend plus léger et deplus testrapide dequ’une votremachine application.virtuelle. Docker ne virtualise pas tout un système d’exploitation, seulement ce qui est nécessaire pour faire tourner le service demandé.

LorsqueLes vousconteneurs êtespeuvent prêt,aussi déployezpartager votredes applicationfichiers, dansdes votre environnement de production, en tant que conteneurports ou service orchestré. Cela fonctionne de la même manière, que votre environnement de production soit un centre de données local, un fournisseur de cloud ou un hybride des deux.

Pour quoi utiliser docker

  • Livraison rapide et cohérente de vos applications
  • Déploiement et mise à l'échelle réactifs
  • Exécuter plus de charges de travail sur le même hardware

L’architecture Docker

Docker utilise une architecture client-serveur. Le client Docker communiquevolumes avec le démonsystème Docker,hôte, ce qui effectueles lerend grostrès du travail de création, d'exécutionflexibles et defaciles distributionà deintégrer vos conteneurs Docker. Le client et le démon Docker peut s'exécuter sur le même système, ou vous pouvez connecterdans un clientenvironnement Docker à un démon Docker distant. Le client et le démon Docker communique à l'aide d'une API REST, via des sockets UNIX ou une interface réseau. Un autre client Docker est Docker Compose, qui vous permet de travailler avec des applications composées d'un ensemble de conteneurs.existant.

image.png

Le

Pourquoi démon Docker

Le daemonutiliser Docker (dockerd)? écoute

Docker est très utilisé dans le monde professionnel et chez les requêtesparticuliers, car il :

  • Évite les conflits entre versions de l'APIlogiciels.

    Docker
  • Simplifie les déploiements : une seule commande permet d’installer et gèrede lancer une application complète.

  • Facilite les objets Docker tels que les images, les conteneurs, les réseauxsauvegardes et les volumes.restaurations Un: démonon peut égalementexporter communiquerun conteneur et le redéployer ailleurs.

  • Assure une portabilité maximale : on peut faire tourner la même application sur un PC, un VPS, un NAS, un Raspberry Pi…

  • Offre un excellent support communautaire : des milliers d’images prêtes à l’emploi sont disponibles sur Docker Hub.

Cas d’usage concrets

En auto-hébergement, Docker est parfait pour faire tourner des services comme :

  • Nextcloud (cloud personnel),

  • Immich (photos),

  • AdGuard Home (filtrage DNS),

  • Vaultwarden (gestion de mots de passe),

  • Grafana + Prometheus (supervision),

  • Et bien d’autres...

Chaque service peut tourner dans son propre conteneur, avec d'autressa démonsconfiguration pourindépendante, sans interférer avec les services Docker.autres.

Le

En client Docker

Le client Docker (docker) est le principal moyen utilisé par de nombreux utilisateurs Docker pour interagir avec Docker. Lorsque vous utilisez des commandes telles que docker run, le client envoie ces commandes à dockerd, qui les exécute. La commande docker utilise l'API Docker. Le client Docker peut communiquer avec plusieurs démons.

Le desktop Docker

résumé

Docker Desktop est une applicationsolution facilesimple, àrapide installeret efficace pour votredéployer environnementdes Macapplications. ouGrâce Windowsaux quiconteneurs, vousil permet de créerstandardiser l’environnement, isoler les services, et deautomatiser partagerles des applications et des micro-services conteneurisés. Docker Desktop inclut le daemon Docker (dockerd)déploiements, lesans clientpour Dockerautant (docker),complexifier Dockerla Compose,gestion Dockerdu Content Trust, Kubernetes et Credential Helper.serveur.

Les objets Docker

Lorsque vous utilisez Docker, vous créez et utilisez des images, des conteneurs, des réseaux, des volumes, des plug-ins et d'autres objets. Cette section C’est un brefoutil aperçudevenu de certains de ces objets.

Les images

Une image est un modèle en lecture seule contenant des instructionsincontournable pour créerles un conteneur Docker. Souvent, une image est basée sur une autre image, avec quelques personnalisations supplémentaires. Par exemple, vous pouvez créer une image basée sur l'image ubuntu, mais installer le serveur Web Apache et votre application, ainsi queadministrateurs, les détails de configuration nécessaires pour faire fonctionner votre application.

Vous pouvez créer vos propres images ou n'utiliser que celles créées par d'autresveloppeurs, et publiéestous dansceux unqui registre.veulent Pourhéberger construireleurs votreservices propreen image,toute vous créez un Dockerfileautonomie, avec une syntaxegrande simple pour définir les étapes nécessaires pour créer l'image et l'exécuter. Chaque instruction d'un Dockerfile crée une couche dans l'image. Lorsque vous modifiez le Dockerfile et reconstruisez l'image, seuls les couches qui ont changé sont reconstruits. Cela fait partie de ce qui rend les images si légères, petites et rapides, par rapport aux autres technologies de virtualisation.souplesse.

Les conteneurs (containers)

Un conteneur est une instance exécutable d'une image. Vous pouvez créer, démarrer, arrêter, déplacer ou supprimer un conteneur à l'aide de l'API ou de la CLI Docker. Vous pouvez connecter un conteneur à un ou plusieurs réseaux, y attacher un stockage ou même créer une nouvelle image en fonction de son état actuel.

Par défaut, un conteneur est relativement bien isolé des autres conteneurs et de sa machine hôte. Vous pouvez contrôler le degré d'isolement du réseau, du stockage ou d'autres sous-systèmes sous-jacents d'un conteneur par rapport aux autres conteneurs ou à la machine hôte.

Un conteneur est défini par son image ainsi que par les options de configuration que vous lui fournissez lorsque vous le créez ou le démarrez. Lorsqu'un conteneur est supprimé, toutes les modifications apportées à son état qui ne sont pas stockées dans le stockage persistant disparaissent.