Durée : 3 jours - 21 heures
Tarif : Nous contacter pour une formation INTER – INTRA ou en COURS PARTICULIER
La formation est délivrée en présentiel ou distanciel (e-learning, classe virtuelle, présentiel et à distance). Le formateur alterne entre méthodes démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation). La validation des acquis peut se faire via des études de cas, des quiz et/ou une certification.
Cette formation est animée par un consultant-formateur dont les compétences techniques, professionnelles et pédagogiques ont été validées par des diplômes et/ou testées et approuvées par l’éditeur et/ou par Audit Conseil Formation.
Connaissances de base de l'administration Linux.
- Evaluation des besoins et objectifs en pré et post formation
- Evaluation technique des connaissances en pré et post formation
- Evaluation générale du stage
Pourquoi Docker ?
Différences avec les machines virtuelles
Isolation, portabilité, reproductibilité
Cas d’usage en IA/ML
Architecture Docker
Docker Engine, Docker Daemon, CLI, Docker Hub
Commandes de base
docker version, docker info
docker run, docker ps, docker images, docker rm, docker rmi, docker stop, docker start
Différence entre docker run et docker exec
Travail avec les images
Téléchargement d’images (docker pull)
Création d’images (docker build)
Exercices
Installation de Docker sur CentOS/Ubuntu
Lancer un conteneur Python : docker run -it --rm python:3.9 bash
Créer un premier Dockerfile : Construire une image de base pour un script Python simple. Exécuter le conteneur.
Gestion des conteneurs et images : Lister, supprimer des conteneurs et images
Cas pratique IA/ML
Créer un Dockerfile minimal pour exécuter un script de post-traitement en Python 3.9.
Optimisation des images Docker pour Python et IA/ML
Choix des images de base (python:3.9-slim, jupyter/scipy-notebook)
Réduction du poids des images
Gestion du cache avec pip install --no-cache-dir
Volumes et persistance des données
docker volume create
docker run -v $(pwd)/data:/app/data
Utilisation de Docker Compose
Définition d’un docker-compose.yml pour orchestrer plusieurs services
Exemple : Conteneur Python + Conteneur PostgreSQL
Exercices
Créer une image Docker optimisée pour un projet IA/ML avec numpy, pandas, scikit-learn.
Créer un volume Docker et lire/écrire des données d’entraînement.
Docker Compose pour une app IA/ML : Un service Flask pour exposer un modèle ML, un conteneur PostgreSQL pour stocker les résultats
Cas pratique avancé
Déployer une API Flask dans un conteneur qui charge un modèle entraîné en IA/ML.
Docker et Git : Versionner les Dockerfiles
Bonnes pratiques pour commit/push des Dockerfiles
Automatisation des builds avec GitHub Actions ou Jenkins
Docker et CI/CD
Construire et publier une image automatiquement sur Docker Hub/Nexus
docker build -t monrepo/ml-image:latest .
docker push monrepo/ml-image:latest
Sécurité des conteneurs
Éviter d’utiliser root dans les conteneurs
Scanner une image avec docker scan
Limiter les ressources (--memory, --cpu)
Déploiement et orchestration
Introduction à Kubernetes Kind
Déploiement d’un pod avec un conteneur IA/ML
Exercices
Configurer un pipeline CI/CD Docker avec GitHub Actions
Scanner une image Docker pour détecter des vulnérabilités
Limiter l’usage des ressources d’un conteneur IA/ML
Cas pratique final
Créer un pipeline CI/CD complet : Build de l’image, push vers un registry Docker privé, déploiement automatique sur un serveur