SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
PPrréésseennttaattiioonn ddee DDoocckkeerr..iioo 
par Nicolas Hennion 
lors de la Commission Open-Source 
de la Telecom Valley du 11 septembre 2014
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 
environnements séparés (conteneurs) 
pouvant communiquer entre eux. ''
Vous avez dit conteneur ?
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
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.
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.
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.io) 
● Communauté importante et active (DockerCon) 
● Solomon Hykes 
est le fondateur 
et l'actuel CTO de Docker.io
Pourquoi faire ? 
● Plate-forme de développement souple 
● Intégration continue 
● Déploiement/mise en production 
● Plate-forme PaaS
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
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 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
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
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
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))
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
Une petite démonstation...

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAditya Konarde
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerInstruqt
 
Docker intro
Docker introDocker intro
Docker introOleg Z
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerizationBalint Pato
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...Edureka!
 
Docker introduction
Docker introductionDocker introduction
Docker introductionPhuc Nguyen
 
Why Docker
Why DockerWhy Docker
Why DockerdotCloud
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Herofazalraja
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An IntroductionPOSSCON
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with DockerRavindu Fernando
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)Gourav Varma
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker IntroductionPeng Xiao
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersYajushi Srivastava
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetesBaraniBuuny
 

Was ist angesagt? (20)

What is Docker
What is Docker What is Docker
What is Docker
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Docker intro
Docker introDocker intro
Docker intro
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
What is Docker | Docker Tutorial for Beginners | Docker Container | DevOps To...
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Why Docker
Why DockerWhy Docker
Why Docker
 
Docker: From Zero to Hero
Docker: From Zero to HeroDocker: From Zero to Hero
Docker: From Zero to Hero
 
Docker 101: An Introduction
Docker 101: An IntroductionDocker 101: An Introduction
Docker 101: An Introduction
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Containers 101
Containers 101Containers 101
Containers 101
 
Docker introduction (1)
Docker introduction (1)Docker introduction (1)
Docker introduction (1)
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
9 steps to awesome with kubernetes
9 steps to awesome with kubernetes9 steps to awesome with kubernetes
9 steps to awesome with kubernetes
 

Andere mochten auch

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker, Inc.
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Jérôme Petazzoni
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalitéZenika
 
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015Stephane Manciot
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerThibaut Marmin
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et DockerStephane Manciot
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersJérôme Petazzoni
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Romain Chalumeau
 
Introduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP RennesIntroduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP RennesYann Nave
 
Docker: Aspects of Container Isolation
Docker: Aspects of Container IsolationDocker: Aspects of Container Isolation
Docker: Aspects of Container Isolationallingeek
 
Docker with openstack
Docker with openstackDocker with openstack
Docker with openstackLiang Bo
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with dockerMichelle Liu
 
Docker: Herding your cattle from dev to ops
Docker: Herding your cattle from dev to opsDocker: Herding your cattle from dev to ops
Docker: Herding your cattle from dev to opsKangaroot
 
Mesos & Marathon - Piloter les services de votre système
Mesos & Marathon - Piloter les services de votre systèmeMesos & Marathon - Piloter les services de votre système
Mesos & Marathon - Piloter les services de votre systèmeSylvain Hellegouarch
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deploymentsOxalide
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide
 
Docker - Build, Ship, and Run Any App, Anywhere
Docker - Build, Ship, and Run Any App, AnywhereDocker - Build, Ship, and Run Any App, Anywhere
Docker - Build, Ship, and Run Any App, AnywhereCodibly - Software House
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 

Andere mochten auch (20)

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Docker du mythe à la réalité
Docker du mythe à la réalitéDocker du mythe à la réalité
Docker du mythe à la réalité
 
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
 
Docker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
DevOps avec Ansible et Docker
DevOps avec Ansible et DockerDevOps avec Ansible et Docker
DevOps avec Ansible et Docker
 
A Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things ContainersA Gentle Introduction To Docker And All Things Containers
A Gentle Introduction To Docker And All Things Containers
 
Docker le buzz est il justifié ?
Docker le buzz est il justifié ? Docker le buzz est il justifié ?
Docker le buzz est il justifié ?
 
Docker - YaJUG
Docker  - YaJUGDocker  - YaJUG
Docker - YaJUG
 
Docker allocating resources
Docker allocating resourcesDocker allocating resources
Docker allocating resources
 
Introduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP RennesIntroduction à docker - Meetup WP Rennes
Introduction à docker - Meetup WP Rennes
 
Docker: Aspects of Container Isolation
Docker: Aspects of Container IsolationDocker: Aspects of Container Isolation
Docker: Aspects of Container Isolation
 
Docker with openstack
Docker with openstackDocker with openstack
Docker with openstack
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
 
Docker: Herding your cattle from dev to ops
Docker: Herding your cattle from dev to opsDocker: Herding your cattle from dev to ops
Docker: Herding your cattle from dev to ops
 
Mesos & Marathon - Piloter les services de votre système
Mesos & Marathon - Piloter les services de votre systèmeMesos & Marathon - Piloter les services de votre système
Mesos & Marathon - Piloter les services de votre système
 
Varnish & blue/green deployments
Varnish & blue/green deploymentsVarnish & blue/green deployments
Varnish & blue/green deployments
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
Docker - Build, Ship, and Run Any App, Anywhere
Docker - Build, Ship, and Run Any App, AnywhereDocker - Build, Ship, and Run Any App, Anywhere
Docker - Build, Ship, and Run Any App, Anywhere
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 

Ähnlich wie Introduction à docker.io

Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerNizar GARRACHE
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugamine17157
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystèmeAymen EL Amri
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiquesdenier
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...adri1s
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxAnisSalhi3
 
Vulgarisation de la technologie de containers Docker
Vulgarisation de la technologie de containers DockerVulgarisation de la technologie de containers Docker
Vulgarisation de la technologie de containers DockerFlorian Bobin
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Julien Maitrehenry
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte de dockerjean pasqualini
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinLudovic Piot
 
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...AbdellahELMAMOUN
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieSamuel Desseaux
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...TelecomValley
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsJohan Moreau
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxSafoineGabtni
 

Ähnlich wie Introduction à docker.io (20)

Geek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop DockerGeek Time Mars 2017 : Workshop Docker
Geek Time Mars 2017 : Workshop Docker
 
docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
 
Prise en main de Docker
Prise en main de DockerPrise en main de Docker
Prise en main de Docker
 
Docker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatiqueDocker - un outil pour faciliter le développement et le déploiement informatique
Docker - un outil pour faciliter le développement et le déploiement informatique
 
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker nice meetup #1   construire, déployer et exécuter vos applications, ...Docker nice meetup #1   construire, déployer et exécuter vos applications, ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
La révolution Docker
La révolution DockerLa révolution Docker
La révolution Docker
 
Vulgarisation de la technologie de containers Docker
Vulgarisation de la technologie de containers DockerVulgarisation de la technologie de containers Docker
Vulgarisation de la technologie de containers Docker
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?Docker, mais qu’est-ce que c’est ?
Docker, mais qu’est-ce que c’est ?
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte de docker
 
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassinOxalide Workshop #4 - Docker, des tours dans le petit bassin
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
 
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
 
A la découverte de docker, 2ème partie
A la découverte de docker, 2ème partieA la découverte de docker, 2ème partie
A la découverte de docker, 2ème partie
 
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
Soirée du Test Logiciel - Mise en place d’une plateforme de test automatisé a...
 
De la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logicielsDe la chaîne de production au SI géré par des logiciels
De la chaîne de production au SI géré par des logiciels
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
New Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptxNew Microsoft PowerPoint Presentation.pptx
New Microsoft PowerPoint Presentation.pptx
 

Introduction à docker.io

  • 1. PPrréésseennttaattiioonn ddee DDoocckkeerr..iioo par Nicolas Hennion lors de la Commission Open-Source de la Telecom Valley du 11 septembre 2014
  • 2. Qui a déjà 'Docker' dans l'assistance ?
  • 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. Vous avez dit conteneur ?
  • 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. 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. 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. Qui l'utilise ? ● Rackspace ● Red Hat ● IBM ● Google ● Spotify ● Amazon ● Ebay ● Twitter ● Facebook ● ...
  • 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. Pourquoi faire ? ● Plate-forme de développement souple ● Intégration continue ● Déploiement/mise en production ● Plate-forme PaaS
  • 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. Virtualisation vs Containers 1/2 ● Virtualisation (émulateur) ● Containers (isolateur)
  • 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. 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. 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. 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. 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