This repository has been archived on 2025-06-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
docker-example/presentation/slides.md
T
2024-07-27 20:15:46 +02:00

3.5 KiB

Sommaire

  • Introduction à la conteneurisation
  • Docker
    • Principes clés
      • Conteneurs
      • Images
    • Orchestration
    • Exemples d'applications

Nathan Tien You

  • Ingénieur spécialité informatique
  • Développeur fullstack
  • Home Server :
    • Proxmox
    • Docker
    • Gitea actions
  • Amateur de jeux de deckbuilding

Problématiques liées à la virtualisation

  • Gourmand (Mémoire, processeur, disque dur)
  • Installation lourde
  • Mises à jour et maintenance
    • Système d'exploitation
    • Outils de supervision
    • Dépendances / prérequis

Différents types de conteneurisation

  • Conteneurs Processus
    • Docker
    • Podman
  • Conteneurs Machine
    • LXC
    • LXD

Virtualisation du service

Comparison between containers, bare metal, and virtual machines
source : Gitlab


Infrastructure as code

  • Automatisation
    • Fiabilité
    • Efficacité
  • Contrôle des versions
  • Code = Infrastructre : autodocumenté
  • Immutabilité

Conteneurs

  • Ressources (processeur, ram)
  • Stockage
  • Réseau

docker run \
-it --rm \
-v /tmp:/usr/local/apache2/htdocs/ \
-p 8000:80 \
httpd:latest


OverlayFS



Images

FROM httpd:alpine

COPY files/* /usr/local/apache2/htdocs/

Container Insides

docker buildx build . -t demo:latest


Orchestration

  • Automatisation du déploiement
  • Horizontal Scaling
  • Nombreuses platformes
    • Kubernetes
    • Docker Compose
    • OpenShift

Docker compose


services:

  database:
    image: redis:alpine3.20
    volumes:
     - database-data:/data
    command: "redis-server --save 60 1"
    networks:
     - back

  frontend:
    image: docker-demo/front
    build: ./front
    volumes:
     - ./test.txt:/usr/local/apache2/htdocs/test.txt
    ports:
     - "80:80"
    networks:
     - front

  backend:
    image: docker-demo/backend
    build: ./back
    environment:
     - REDIS_URL=redis://database
    depends_on:
     - database
    networks:
     - back
     - front

networks:
  front:
  back:

volumes:
  database-data:

Orchestration : Kubernetes

  • Clusters
  • Stockage distribué
  • Haute Disponibilité
    • Redonance
    • Stratégie de déploiement

Où utiliser la conteneurisation ?

  • Services internes ou publics
  • DevOps (Déploiement et intégration continue)
  • Technologies Cloud (AWS, Azure...) ou on-prem
  • Complémentaire aux machines virtuelles