du	mythe	à	la	ré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
Docker	Engine
Docker	Hub
Docker	Registry
Docker	Machine
Docker	Compose
Docker	Swarm
Kitematic
Docker	Datacenter Docker	Cloud
Démo 2
Docker Compose
Les trois étapes
pour intégrer Docker dans vos
projets
Etape 1 : Build
Adopter 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 : Ship
Docker 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 : Run
Infrastructure 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

Docker du mythe à la réalité

  • 1.
  • 2.
    Agenda • Introduction àDocker • Les 3 étapes pour intégrer Docker dans vos projets
  • 3.
  • 4.
  • 5.
    Les VM traditionelles "Ionce heard that hypervisors are the living proof of operating system’s incompetence” Glauber Costa's talk at LinuxCon Europe 2012
  • 6.
  • 7.
    Les conteneurs • chroot(1982) • FreeBSD Jails (2000) • Solaris Zone (2004) • Aix WPAR (2007) • HP-UX Containers (2007) • LXC (2008) • Docker (2013)
  • 8.
    Démo 1 Création d’unconteneur avec Docker
  • 9.
    docker run 1. Créationd'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
  • 10.
  • 11.
  • 12.
    Les trois étapes pourintégrer Docker dans vos projets
  • 14.
    Etape 1 :Build Adopter 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
  • 15.
    Etape 2 :Ship Docker 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
  • 16.
    Etape 3 :Run Infrastructure 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
  • 17.
  • 18.