Docker, comment ca marche?

Docker est une technologie apparue début 2013 qui permet de manager des conteneurs Linux. Très en vogue ces dernières années, notamment couplé avec Kubernetes (k8s pour les intimes) qui n’est autre qu’un orchestrateur, Docker permet d’optimiser vos applications pour le cloud.

Comprendre Docker et savoir s’en servir est un atout important dans le monde du marché des devs actuel.
Dans cet article, nous aborderons les bases du fonctionnement de Docker et les avantages de cette technologie.

 

Un conteneur Linux, qu’est ce que c’est ?

Un conteneur Linux est un processus ou un ensemble de processus isolés du reste du système. Tous les fichiers nécessaires à leur exécution sont fournis par une image distincte, ce qui signifie que les conteneurs Linux sont portables et fonctionnent de la même manière dans les environnements de développement, de test et de production. Il peut être utilisé pour exécuter des applications Linux ou Windows.

Mais à partir de quoi se construit une image ? Docker se base sur des fichiers pour construire les images. Ce fichier contient une série d’instructions que Docker va exécuter afin de construire l’image finale qui va être stockée dans un registre d’image Docker. Le site Docker contient son propre registre public : https://hub.docker.com/.

À la différence d’une machine virtuelle classique, un conteneur virtualise un système d’exploitation et réutilise le noyau de l’OS de la machine hôte: ceci permet une gestion des ressources optimisée.

 

Comment créer une image Docker ?

Pour créer une image totalement personnalisable avec Docker, on utilise un fichier texte appelé Dockerfile

Le dockerfile doit :

  • Utiliser un OS de base
  • Installer les pré-requis système
  • Installer les packages nécessaires

Avant de transformer ce Dockerfile en une image, vous devez créer un fichier de plus, le .dockerignore. Ce fichier permet de ne pas inclure certain fichiers dans votre image Docker, et c’est très important afin d’éviter d’inclure les dépendances de votre projet dans votre image qui sont propres à votre système, mais pas au système du conteneur.

Pour transformer le Dockerfile en une image Docker, il faut utiliser la commande :

docker build -t nameOfTheBuild pathOfTheDockerfile

Après ca, vous n’avez plus qu’à lancer un conteneur Docker avec votre nouvelle image.

 

Ça apporte quoi concrètement Docker ?


Avec la technologie Docker, vous pouvez traiter les conteneurs comme des machines virtuelles très légères et modulaires.

Docker permet de gérer des conteneurs de façon légère en optimisant l’utilisation des ressources du système. De plus il est possible de monter ou démonter un conteneur sans impacter les autres.

En outre, ces conteneurs vous offrent une grande flexibilité : vous pouvez les créer, déployer, copier et déplacer d’un environnement à un autre, ce qui vous permet d’optimiser vos applications et le coût de ses dernières.

Comme vous l’aurez compris, Docker a révolutionné ces dernières années le déploiement d’applications dans le cloud. Combiné à des outils comme Kubernetes, Docker permet de rendre vos applications modulaires, flexibles et surtout de réduire considérablement le coût de ses dernières.

Comprendre les tenants et aboutissants de Docker et le maîtriser peut être un réel plus sur le marché actuel des développeurs.

Hivebrite

Équipe, stack, locaux…
Découvrez pourquoi les développeurs
aiment Hivebrite sur leur page entreprise.

Découvrir la page de Hivebrite

Technologies

RailsDockerReact
Jérémy Mathon

Recent Posts

On accueille le nouveau CTO 🎉

Un nouveau capitaine technique débarque à la barre de WeLoveDevs ! Après le rachat par…

3 jours ago

AI Act for Developers : comprendre les 5 niveaux de risques

L’AI Act pour les développeurs, c’est la première loi vraiment impactante depuis le RGPD. Et…

1 semaine ago

Angular, mais en mode « easy » : interview avec Gaetan Redin.

"Venez, faites le module 1 et on en reparle." C’est le défi lancé par Gaetan…

2 semaines ago

OWASP Top 10 : 10 erreurs que les développeurs web font tous les jours (et comment les éviter)

L’OWASP Top 10, c’est un outil pour les développeurs web. Et pourtant, il est largement…

3 semaines ago

RGPD pour les développeurs : coder la confiance avant tout.

Dans cet article, on va parler du RGPD pour les développeurs. C’est un sujet que…

1 mois ago

Monolithe vs Microservices : comment choisir la bonne architecture pour votre application ?

En 2025, le débat monolithe vs microservices n’est toujours pas tranché. Faut-il garder une architecture…

1 mois ago