SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
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...

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker Basics
Docker BasicsDocker Basics
Docker Basics
 
Docker Swarm for Beginner
Docker Swarm for BeginnerDocker Swarm for Beginner
Docker Swarm for Beginner
 
Docker
DockerDocker
Docker
 
What is Docker
What is Docker What is Docker
What is Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker swarm
Docker swarmDocker swarm
Docker swarm
 
Docker intro
Docker introDocker intro
Docker intro
 
Understanding docker networking
Understanding docker networkingUnderstanding docker networking
Understanding docker networking
 
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
 
Docker Swarm 0.2.0
Docker Swarm 0.2.0Docker Swarm 0.2.0
Docker Swarm 0.2.0
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
Docker Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
Docker introduction for the beginners
Docker introduction for the beginnersDocker introduction for the beginners
Docker introduction for the beginners
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to 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
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Getting started with Docker
Getting started with DockerGetting started with Docker
Getting started with Docker
 

Destacado

Docker 101: Introduction to Docker
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.
 
Why Docker
Why DockerWhy Docker
Why Docker
dotCloud
 
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
Oxalide
 

Destacado (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)
 
Why Docker
Why DockerWhy Docker
Why Docker
 
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
 
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 Introduction
Docker IntroductionDocker Introduction
Docker Introduction
 
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
 

Similar a Introduction à docker.io

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
Ludovic 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
 
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
qsdqsd4
 

Similar a 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
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
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
 
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