SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
Workshop Docker
Geek Time - Mars 2017
Mahjoub MARZOUGUI
Consultant - OLBATI
OLBATI - Geek Time - Mars 2017 2
Plan
● C'est quoi Docker ?
● Docker vs VMs
● Docker Engine
● Docker images
● Docker Container
● Docker Network
● Docker Hub
● Le dockerfile
● Démo
● Docker Compose
● Docker Swarm et Bundle
● Docker Cloud
OLBATI - Geek Time - Mars 2017 3
C'est quoi Docker ?
Docker permet de créer des environnements (appelées containers) de
manière à isoler des applications. Docker repose sur le kernel Linux
libcontainer.
Chaque conteneur dispose de son propre processus d'init et se termine
quand celui-ci se termine.
Tous les processus du conteneur n'ont pas accès aux processus de l'hôte
ou des autres conteneurs mais l'hôte lui a accès à la totalité des
processus (chaque conteneur à sa propre table de processus).
OLBATI - Geek Time - Mars 2017 4
Docker vs VMs
OLBATI - Geek Time - Mars 2017 5
Le Docker engine fait tourner les conteneurs et joue le rôle de contrôleur.
En termes d’architecture,
● Docker fonctionne sur une architecture client serveur.
● Le client Docker communique avec le Docker daemon qui fait
tourner le docker engine, pour construire et gérer les conteneurs
Docker.
● Le client Docker et le daemon Docker peuvent tourner sur la même
machine, comme sur des machines différentes.
Docker Engine
OLBATI - Geek Time - Mars 2017 6
Docker Image
Une image est un container statique. On pourrait comparer une image à
une capture d'un container à un moment donné, d'une sorte de snapshot
d'un de vos containers. Lorsqu'on souhaite travailler avec un container, on
déclare forcément un container à partir d'une image.
OLBATI - Geek Time - Mars 2017 7
Docker Container
Les conteneurs sont lancés à partir d'images. nous pouvons les
considérer comme des instances courantes d'une image. Ainsi,
nous pouvons penser à des images comme build time constructs et
les container comme runtime constructs .
Ces conteneurs sont vraiment runtime barebones, juste les choses
nécessaires pour fournir un fonctionnement, en working time , et à
peu près rien d'autre.
OLBATI - Geek Time - Mars 2017 8
Docker Network
La principale fonctionnalité de Docker network est de permet de
regrouper plusieurs containers entre eux, les groupes ainsi créés sont
isolés les uns des autres, ce qui limite les risques et les conflits. A noter
qu’un container peut appartenir à zéro ou plusieurs réseaux.
Par défaut, il existe un network appelé bridge .Ce network est créé en
même temps que l’installation de docker. Il est toujours utilisé par défaut
si vous ne spécifiez de réseaux au lancement d’un container .
OLBATI - Geek Time - Mars 2017 9
Docker Hub
Docker Hub est un portail d'échange de containers Docker pré
paramétrés. La librairie contient plus de 100 000 images de
containers proposées avec des OS (Ubuntu, CentOS...).
Docker propose aussi aux entreprises d'héberger en toute sécurité
leurs images de containers en mode on-premise ou via un cloud
privé. Baptisé Docker Trusted Registry, ce service est proposé; au
sein de l'offre payante Docker Datacenter.
OLBATI - Geek Time - Mars 2017 10
Le dockerfile
FROM : L'image de base à utiliser dans la construction. C'est obligatoire et doit
être la première commande du fichier.
MAINTAINER: Valeur facultative pour le responsable du script.
ADD : Copie un fichier du système hôte sur le conteneur.
COPY: Copie un fichier du système hôte sur le conteneur.
ENV: Définit une variable d'environnement dans le nouveau conteneur.
EXPOSE : Ouvre un port pour les conteneurs liés.
ONBUILD :Est déclenchée lorsque l'image dans le Dockerfile est utilisée comme
base pour une autre image.
RUN : Exécute une commande et enregistre le résultat
USER: Définit l'utilisateur par défaut dans le conteneur.
VOLUME : Crée un volume partagé qui peut être partagé entre les conteneurs ou
par la machine hôte.
WORKDIR : Définissez le répertoire de travail par défaut pour le conteneur.
CMD: La commande qui s'exécute lorsque le conteneur démarre.
ENTRYPOINT : La commande qui s'exécute lorsque le conteneur démarre.
OLBATI - Geek Time - Mars 2017 11
Docker Compose
Docker propose docker-compose qui offre la possibilité de “composer” un
ensemble de container sur une seule et même machine, mais également
de “scaler” les conteneurs toujours sur un même serveur
Le cli docker-compose peut être utilisé pour gérer une application
multi-conteneur. Il déplace également beaucoup des options que vous
entrez dans le docker run cli dans le fichier docker-compose.yml pour
faciliter la réutilisation.
OLBATI - Geek Time - Mars 2017 12
Démo
OLBATI - Geek Time - Mars 2017 13
Docker Swarm et Bundle
Docker Swarm est l’outil proposé par Docker pour assurer la
gestion de clusters Docker, le routage, la scalabilité, :
service : Un service répliqué, distribué et load balanced peut être
facilement créé à l'aide de la commande create create service
configuration de sécurité :Fournir une authentification, une
autorisation et un cryptage aux communications de chaque nœud
participant a swarm.
stack et bundle application: Distributed Application Bundle, ou
DAB, est un format d'image distribuable multi-services
OLBATI - Geek Time - Mars 2017 14
Docker Cloud
Docker Cloud fournit un service de registre hébergé avec des
installations de compilation et de test pour les images d'application
Dockerisee.
Des outils pour vous aider à configurer et à gérer l'infrastructure
hôte;, Et les fonctionnalités du cycle de vie des applications pour
automatiser le déploiement (et le redéploiement) des services
créés à partir d'images.
OLBATI - Geek Time - Mars 2017 15
Thanks!
Any questions?
mahjoub.marzougui@olbati.com

Contenu connexe

Tendances

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
 

Tendances (20)

13 big data docker
13 big data docker13 big data docker
13 big data docker
 
A la découverte de docker
A la découverte de dockerA la découverte de docker
A la découverte 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 : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Docker@linuq
Docker@linuqDocker@linuq
Docker@linuq
 
Julien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printempsJulien Maitrehenry - Docker, ça mange quoi au printemps
Julien Maitrehenry - Docker, ça mange quoi au printemps
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
What is Docker
What is Docker What is Docker
What is Docker
 
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 Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à DockerDocker Tours Meetup #1 - Introduction à Docker
Docker Tours Meetup #1 - Introduction à Docker
 
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSupport formation vidéo : Construire et administrer vos conteneurs avec Docker
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
 
NightClazz Docker Découverte
NightClazz Docker Découverte NightClazz Docker Découverte
NightClazz Docker Découverte
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
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
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
 
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
 
Meetup Docker Lyon janvier 2018 - Docker 101
Meetup Docker Lyon janvier 2018 - Docker 101Meetup Docker Lyon janvier 2018 - Docker 101
Meetup Docker Lyon janvier 2018 - Docker 101
 
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?Alter Way's digitalks - Docker  : des conteneurs pour tout faire ?
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
 
Intro to docker
Intro to dockerIntro to docker
Intro to docker
 

Similaire à Geek Time Mars 2017 : Workshop Docker

optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdfoptimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
Pascal Ponzoni
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvcformation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
hichamelhirch
 

Similaire à Geek Time Mars 2017 : Workshop Docker (20)

docker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyugdocker-workshop-by-rbk.pdf jhuhiuguigugyug
docker-workshop-by-rbk.pdf jhuhiuguigugyug
 
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
 
Prise en main de Docker
Prise en main de DockerPrise en main de Docker
Prise en main de Docker
 
Midi technique - présentation docker
Midi technique - présentation dockerMidi technique - présentation docker
Midi technique - présentation docker
 
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, 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 ?
 
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et DerueGab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
 
docker.pptx
docker.pptxdocker.pptx
docker.pptx
 
docker.pdf
docker.pdfdocker.pdf
docker.pdf
 
Docker & son ecosystème
Docker & son ecosystèmeDocker & son ecosystème
Docker & son ecosystème
 
DevOps 3 - Docker.pdf
DevOps 3 - Docker.pdfDevOps 3 - Docker.pdf
DevOps 3 - Docker.pdf
 
Configurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdfConfigurer GitHub Actions avec Docker et DotNET 8.pdf
Configurer GitHub Actions avec Docker et DotNET 8.pdf
 
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
GAB 2017 PARIS - Docker sur Azure Container Services et DCOS par Michaël FERY...
 
Support : introduction à docker
Support : introduction à dockerSupport : introduction à docker
Support : introduction à docker
 
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
 
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdfoptimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
 
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvcformation_dockerhscv jh   sjsjx jhxavcjhvdcjhvajhsdvc
formation_dockerhscv jh sjsjx jhxavcjhvdcjhvajhsdvc
 
Gab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur AzureGab2015 Jean-Marie Crommen Docker sur Azure
Gab2015 Jean-Marie Crommen Docker sur Azure
 
Tadx - Présentation Conteneurisation
Tadx -  Présentation ConteneurisationTadx -  Présentation Conteneurisation
Tadx - Présentation Conteneurisation
 
[Meetup] Optimiser ses builds Docker avec BuildKit.
[Meetup] Optimiser ses builds Docker avec BuildKit. [Meetup] Optimiser ses builds Docker avec BuildKit.
[Meetup] Optimiser ses builds Docker avec BuildKit.
 

Geek Time Mars 2017 : Workshop Docker

  • 1. Workshop Docker Geek Time - Mars 2017 Mahjoub MARZOUGUI Consultant - OLBATI
  • 2. OLBATI - Geek Time - Mars 2017 2 Plan ● C'est quoi Docker ? ● Docker vs VMs ● Docker Engine ● Docker images ● Docker Container ● Docker Network ● Docker Hub ● Le dockerfile ● Démo ● Docker Compose ● Docker Swarm et Bundle ● Docker Cloud
  • 3. OLBATI - Geek Time - Mars 2017 3 C'est quoi Docker ? Docker permet de créer des environnements (appelées containers) de manière à isoler des applications. Docker repose sur le kernel Linux libcontainer. Chaque conteneur dispose de son propre processus d'init et se termine quand celui-ci se termine. Tous les processus du conteneur n'ont pas accès aux processus de l'hôte ou des autres conteneurs mais l'hôte lui a accès à la totalité des processus (chaque conteneur à sa propre table de processus).
  • 4. OLBATI - Geek Time - Mars 2017 4 Docker vs VMs
  • 5. OLBATI - Geek Time - Mars 2017 5 Le Docker engine fait tourner les conteneurs et joue le rôle de contrôleur. En termes d’architecture, ● Docker fonctionne sur une architecture client serveur. ● Le client Docker communique avec le Docker daemon qui fait tourner le docker engine, pour construire et gérer les conteneurs Docker. ● Le client Docker et le daemon Docker peuvent tourner sur la même machine, comme sur des machines différentes. Docker Engine
  • 6. OLBATI - Geek Time - Mars 2017 6 Docker Image Une image est un container statique. On pourrait comparer une image à une capture d'un container à un moment donné, d'une sorte de snapshot d'un de vos containers. Lorsqu'on souhaite travailler avec un container, on déclare forcément un container à partir d'une image.
  • 7. OLBATI - Geek Time - Mars 2017 7 Docker Container Les conteneurs sont lancés à partir d'images. nous pouvons les considérer comme des instances courantes d'une image. Ainsi, nous pouvons penser à des images comme build time constructs et les container comme runtime constructs . Ces conteneurs sont vraiment runtime barebones, juste les choses nécessaires pour fournir un fonctionnement, en working time , et à peu près rien d'autre.
  • 8. OLBATI - Geek Time - Mars 2017 8 Docker Network La principale fonctionnalité de Docker network est de permet de regrouper plusieurs containers entre eux, les groupes ainsi créés sont isolés les uns des autres, ce qui limite les risques et les conflits. A noter qu’un container peut appartenir à zéro ou plusieurs réseaux. Par défaut, il existe un network appelé bridge .Ce network est créé en même temps que l’installation de docker. Il est toujours utilisé par défaut si vous ne spécifiez de réseaux au lancement d’un container .
  • 9. OLBATI - Geek Time - Mars 2017 9 Docker Hub Docker Hub est un portail d'échange de containers Docker pré paramétrés. La librairie contient plus de 100 000 images de containers proposées avec des OS (Ubuntu, CentOS...). Docker propose aussi aux entreprises d'héberger en toute sécurité leurs images de containers en mode on-premise ou via un cloud privé. Baptisé Docker Trusted Registry, ce service est proposé; au sein de l'offre payante Docker Datacenter.
  • 10. OLBATI - Geek Time - Mars 2017 10 Le dockerfile FROM : L'image de base à utiliser dans la construction. C'est obligatoire et doit être la première commande du fichier. MAINTAINER: Valeur facultative pour le responsable du script. ADD : Copie un fichier du système hôte sur le conteneur. COPY: Copie un fichier du système hôte sur le conteneur. ENV: Définit une variable d'environnement dans le nouveau conteneur. EXPOSE : Ouvre un port pour les conteneurs liés. ONBUILD :Est déclenchée lorsque l'image dans le Dockerfile est utilisée comme base pour une autre image. RUN : Exécute une commande et enregistre le résultat USER: Définit l'utilisateur par défaut dans le conteneur. VOLUME : Crée un volume partagé qui peut être partagé entre les conteneurs ou par la machine hôte. WORKDIR : Définissez le répertoire de travail par défaut pour le conteneur. CMD: La commande qui s'exécute lorsque le conteneur démarre. ENTRYPOINT : La commande qui s'exécute lorsque le conteneur démarre.
  • 11. OLBATI - Geek Time - Mars 2017 11 Docker Compose Docker propose docker-compose qui offre la possibilité de “composer” un ensemble de container sur une seule et même machine, mais également de “scaler” les conteneurs toujours sur un même serveur Le cli docker-compose peut être utilisé pour gérer une application multi-conteneur. Il déplace également beaucoup des options que vous entrez dans le docker run cli dans le fichier docker-compose.yml pour faciliter la réutilisation.
  • 12. OLBATI - Geek Time - Mars 2017 12 Démo
  • 13. OLBATI - Geek Time - Mars 2017 13 Docker Swarm et Bundle Docker Swarm est l’outil proposé par Docker pour assurer la gestion de clusters Docker, le routage, la scalabilité, : service : Un service répliqué, distribué et load balanced peut être facilement créé à l'aide de la commande create create service configuration de sécurité :Fournir une authentification, une autorisation et un cryptage aux communications de chaque nœud participant a swarm. stack et bundle application: Distributed Application Bundle, ou DAB, est un format d'image distribuable multi-services
  • 14. OLBATI - Geek Time - Mars 2017 14 Docker Cloud Docker Cloud fournit un service de registre hébergé avec des installations de compilation et de test pour les images d'application Dockerisee. Des outils pour vous aider à configurer et à gérer l'infrastructure hôte;, Et les fonctionnalités du cycle de vie des applications pour automatiser le déploiement (et le redéploiement) des services créés à partir d'images.
  • 15. OLBATI - Geek Time - Mars 2017 15 Thanks! Any questions? mahjoub.marzougui@olbati.com