Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Introduction à docker.io

19 514 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...

×