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

Communauté Tech et féminine : Interview avec Helvira de Motiv’her

Elles sont passées où les femmes dans la tech ? Entre le manque de représentation…

1 jour ago

Consommer des APIs HTTP en PHP comme un pro avec Nicolas Grekas.

Dans cette vidéo, on interview Nicolas Grekas, contributeur clé de Symfony, pour discuter de sa…

1 jour ago

Trouver son job grâce à WeLoveDevs.

 Comment trouver son job dans la tech ? Marie a la réponse ! Grâce à…

3 jours ago

Adobe, L’empire créatif.

Adobe, l'empire créatif, et pas des moindres ! Belle ascension de la part de ces…

7 jours ago

La MAO musique ou musique assistée par ordinateur

Est-ce plus simple de créer des morceaux avec les outils de Musique Assistée par Ordinateur…

7 jours ago