Skip to main content

Introduction

I - C'est quoi docker

Docker

Docker est une plateforme de conteneurs lancée en 2013 ayant largement contribué à la démocratisation de la conteneurisation. Elle permet de créer facilement des conteneurs et des applications basées sur les conteneurs. Il en existe d’autres, mais celle-ci est la plus utilisée. Elle est par ailleurs plus facile à déployer et à utiliser que ses concurrentes.

C’est une solution open source, sécurisée et économique. De nombreux individus et entreprises contribuent au développement de ce projet. Un large écosystème de produits, services et ressources sont développés par cette vaste communauté.

Initialement conçue pour Linux, Docker permet aussi la prise en charge des containers sur Windows ou Mac grâce à une ” layer ” de virtualisation Linux entre le système d’exploitation Windows / macOS et l’environnement runtime Docker. Il est donc possible d’exécuter des conteneurs Windows natifs sur des environnements de conteneurs Windows ou Linux.

Un Conteneur

Un conteneur Docker est une unité logicielle légère, portable et isolée qui regroupe une application et toutes ses dépendances (bibliothèques, configurations, etc.) afin de garantir son exécution de manière cohérente sur n'importe quel environnement.

Les conteneurs Docker utilisent les fonctionnalités de virtualisation du noyau Linux, comme les namespaces et les cgroups, pour fournir une isolation des processus sans nécessiter une machine virtuelle complète. Cela les rend plus rapides et plus efficaces en termes de ressources par rapport aux VM.

Chaque conteneur est basé sur une image Docker, qui est un ensemble immuable de fichiers définissant l’environnement nécessaire à l’exécution de l’application. Docker utilise un moteur (Docker Engine) pour gérer la création, l’exécution et l’arrêt des conteneurs.

En résumé, Docker permet de déployer des applications de manière portable, reproductible et évolutive, ce qui est particulièrement utile pour le développement, les tests et la mise en production. 🚀

Docker Compose

Docker Compose est en fait un moyen de gérer plusieurs conteneur docker grâce a un fichier de configuration au format YAML.YAML sous la forme suivante : 

---
  service:
    image: image-du-conteneur
    container_name: nom-du-conteneur
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
    volumes:
      - répertoire-de-la-vm:repertoire-dans-le-conteneur
    ports:
      - port:port
    restart: unless-stopped
    networks:
      - backend

networks:
  backend:
    external: true