PPrréésseennttaattiioonn ddee DDoocckkeerr..iioo 
par Nicolas Hennion 
lors de la Commission Open-Source 
de la Telecom Va...
Qui a déjà 'Docker' 
dans l'assistance ?
Définition en une phrase 
'' Docker est une solution 
permettant d'exécuter un ou 
plusieurs logiciels dans des 
environne...
Vous avez dit conteneur ?
Conteneur à la mode Docker ? 
Un conteneur propose: 
● un espace isolé permettant d'exécuter des processus 
La plupart du ...
Le Saint Graal des DevOps 
Quand un adminsys met un logiciel en production... 
Par sa nature Docker assure que le conteneu...
Son objectif en une phrase 
Le but ultime de Docker est de minimiser le temps et les 
infrastructures entre le développeme...
Qui l'utilise ? 
● Rackspace 
● Red Hat 
● IBM 
● Google 
● Spotify 
● Amazon 
● Ebay 
● Twitter 
● Facebook 
● ...
De quoi parlons nous ? 
● Logiciel Open-Source (licence Apache 2) 
● Développé en langage Go 
● Service en ligne (Docker.i...
Pourquoi faire ? 
● Plate-forme de développement souple 
● Intégration continue 
● Déploiement/mise en production 
● Plate...
Un peu de technique 
● Docker est une solution de virtualisation légère basée sur 
des conteneurs (containers) 
● Un conte...
Virtualisation vs Containers 1/2 
● Virtualisation (émulateur) ● Containers (isolateur)
Virtualisation vs Containers 2/2 
● Virtualisation classique 
+ fléxible: émulation 
complète ou partielle d'une 
machine ...
Virtualisation au régime 
● Un PC portable peut faire tourner jusqu'à 100 conteneurs 
● 1000 conteneurs sur un serveur 
● ...
Mais... 
''Je fais cela depuis 15 avec Jail sous BSD'' 
Signé: un barbu anonyme 
● C'est en partie vrai mais Docker apport...
Plutôt qu'un long discours... 
run 
Image Conteneur 
pull build 
DockerFile 
push 
Docker.io 
save 
pull 
ou Private Regis...
Comment installer Docker ? 
● Sur sa machine de developpement: 
– GNU/Linux: Nativement (package manager) 
– BSD, Mac OS, ...
Une petite démonstation...
Prochain SlideShare
Chargement dans…5
×

Introduction à docker.io

16 469 vues

Publié le

Introduction à Docker lors de la commission open-source de la Telecom Valley du 11/09/2014

Publié dans : Technologie

Introduction à docker.io

  1. 1. PPrréésseennttaattiioonn ddee DDoocckkeerr..iioo par Nicolas Hennion lors de la Commission Open-Source de la Telecom Valley du 11 septembre 2014
  2. 2. Qui a déjà 'Docker' dans l'assistance ?
  3. 3. Définition en une phrase '' Docker est une solution permettant d'exécuter un ou plusieurs logiciels dans des environnements séparés (conteneurs) pouvant communiquer entre eux. ''
  4. 4. Vous avez dit conteneur ?
  5. 5. Conteneur à la mode Docker ? Un conteneur propose: ● un espace isolé permettant d'exécuter des processus La plupart du temps 1 conteneur = 1 application ● un accès r00t On peut faire ce que l'on veut. Même casser son conteneur ! ● une adresse IP Pour communiquer avec le reste du monde & autres conteneurs
  6. 6. Le Saint Graal des DevOps Quand un adminsys met un logiciel en production... Par sa nature Docker assure que le conteneur utilisé en développement fonctionnera de la même manière en production.
  7. 7. Son objectif en une phrase Le but ultime de Docker est de minimiser le temps et les infrastructures entre le développement, les tests, le déploiement et l'utilisation en production.
  8. 8. Qui l'utilise ? ● Rackspace ● Red Hat ● IBM ● Google ● Spotify ● Amazon ● Ebay ● Twitter ● Facebook ● ...
  9. 9. De quoi parlons nous ? ● Logiciel Open-Source (licence Apache 2) ● Développé en langage Go ● Service en ligne (Docker.io) ● Communauté importante et active (DockerCon) ● Solomon Hykes est le fondateur et l'actuel CTO de Docker.io
  10. 10. Pourquoi faire ? ● Plate-forme de développement souple ● Intégration continue ● Déploiement/mise en production ● Plate-forme PaaS
  11. 11. Un peu de technique ● Docker est une solution de virtualisation légère basée sur des conteneurs (containers) ● Un conteneur est un environnement d'exécution isolé (vraiment) avec ses propres ressources ● Tous les conteneurs utilisent le même noyau qui est celui de la machine hôte ● Docker se basait uniquement sur le noyau Linux et ses technologies LXC, namespaces et cgroups puis sur libcontainer depuis la version 0.9
  12. 12. Virtualisation vs Containers 1/2 ● Virtualisation (émulateur) ● Containers (isolateur)
  13. 13. Virtualisation vs Containers 2/2 ● Virtualisation classique + fléxible: émulation complète ou partielle d'une machine sur une autre - coûts de mise en oeuvre - instance consommatrice en ressources ● VMWare, Xen, VirtualBox, KVM, Hyper-V… ● Containers ou virtualisation légère + coûts de mise en oeuvre + rapidité de lancement des environnements - fléxibilité (virtualisation de l'environnement d'exécution, pas de la machine) ● OpenVZ, Vserver, Jail et… Docker
  14. 14. Virtualisation au régime ● Un PC portable peut faire tourner jusqu'à 100 conteneurs ● 1000 conteneurs sur un serveur ● A l'intérieur des conteneurs, les logiciels tournent aussi vite que si ils étaient lancées sur l'OS hôte. ● Les opérations sur les conteneurs se font dans la seconde
  15. 15. Mais... ''Je fais cela depuis 15 avec Jail sous BSD'' Signé: un barbu anonyme ● C'est en partie vrai mais Docker apporte nativement: – un environnement d'administration des conteneurs avec notamment le build basé sur les DockerFiles – la gestion en version des conteneurs – une registry pour stocker ses images/conteneurs – une API REST ● Docker est donc plus une surcouche aux solutions comme Jail ou OpenVZ
  16. 16. Plutôt qu'un long discours... run Image Conteneur pull build DockerFile push Docker.io save pull ou Private Registry RReeppoossiittoorryy Conteneur Conteneur DDeevv IInnffrraa PPrroodd commit AAIIVV ((ooppttiioonnnneellllee))
  17. 17. Comment installer Docker ? ● Sur sa machine de developpement: – GNU/Linux: Nativement (package manager) – BSD, Mac OS, Windows: Via VM boot2docker (25 MB) ● Sur son serveur GNU/Linux – Nativement (package manager) – Distrib dédiée: CoreOS
  18. 18. Une petite démonstation...

×