du mythe à la réalité
dumytheàlaréalité
Agenda
• Introduction à Docker • Les 3 étapes pour intégrer
Docker dans vos projets
Docker Introduction
Les VM traditionelles
Les VM traditionelles
"I once heard that hypervisors are the living proof of operating system’s incompetence”
Glauber Costa's talk at LinuxCon Europe 2012
Les conteneurs
Les conteneurs
• chroot (1982) • FreeBSD Jails (2000) • Solaris Zone (2004) • Aix WPAR (2007) • HP-UX Containers (2007) • LXC (2008) • Docker (2013)
Démo 1 Création d’un conteneur avec
Docker
docker run
1. Création d'un conteneur Linux 2. Mount d’un nouveau file system 3. Mount d’une couche read/write 4. Création d’une nouvelle interface réseau 5. Assignation d’une adresse IP 6. Execution d'un process à l'intérieur du conteneur 7. Redirection de l'output du process
La plateforme Docker
DockerEngine
DockerHub
DockerRegistry
DockerMachine
DockerCompose
DockerSwarm
Kitematic
DockerDatacenter DockerCloud
Démo 2 Docker Compose
Les trois étapes pour intégrer Docker dans vos
projets
Etape 1 : BuildAdopter Docker comme outil de développement
OBJECTIF Utiliser Docker pour builder et/ou exécuter l’application
Exemples: • maven dans un conteneur Docker • tomcat dans un conteneur Docker • mysql dans un conteneur Docker
AVANTAGES Partager la configuration de l'environnement de dev
LIVRABLES Dockerfiles et Compose files
Etape 2 : ShipDocker pour distribuer votre application
OBJECTIF Intégrer Docker dans le process d’Intégration Continue
Utiliser les images Docker comme livrables (à la place de war, jar, exe etc…)
AVANTAGES Outil de packaging universel
Homogénéité des environnement (dev, recette et prod)
LIVRABLES Installation et configuration d’un Registry Docker
Jobs d'IC qui : • Génèrent des images Docker • Utilisent Docker pour build et tests
Etape 3 : RunInfrastructure immutable pour la PROD
OBJECTIF Mettre en place une infrastructure de PROD immutable :
• Qui scale facilement • Avec de la haute disponibilité • Failover garanti
AVANTAGES Simplicité des déploiement
Réductions des couts d'infrastructure
LIVRABLES Provisioning de hosts Docker
Mise en place d'un outil de orchestration (Rancher, Swarm, Mesos, Kubernetes) Mise en place d’outil de Monitoring de conteneurs
Démo 3 Intégration continue avec Docker
BUILD SHIP RUN