## Sommaire - Introduction à la conteneurisation - Docker - Principes clés - Point de vue sysadmin - Point de vue développeur - Point de vue DevOps ## 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](https://about.gitlab.com/images/blogimages/containers-vm-bare-metal.png "Containers vs VMs")\ source : [Gitlab](https://gitlab.com) ## Infrastructure as code - Automatisation - Fiabilité - Efficacité - Contrôle des versions ## Conteneurs ```bash [1-6|1-2|3|4|5|6] docker run \ -it --rm \ -v /tmp:/app \ -p 8000:8000 \ python:latest \ python -m http.server --directory /app ``` ![OverlayFS](https://docs.docker.com/storage/storagedriver/images/overlay_constructs.webp) ## Images ```Docker [1-11|1-2|3-5|6-9|10-11] FROM python:alpine3.19 WORKDIR /app COPY files/* ./ EXPOSE 8000 CMD ["python3", "-m", "http.server"] ``` ![Container Insides](./images/Image.drawio.svg) ```bash docker buildx build . -t demo:latest ``` ## Orchestration - Automatisation du déploiement - Horizontal Scaling - Nombreuses platformes - Kubernetes - Docker Compose - OpenShift ## Docker compose ```yaml ```