SlideShare une entreprise Scribd logo
Atelier Docker @linuq
Découverte de docker
Exemple concret avec XiVO
Le 28 mars 2015
Sylvain Boily
/ME
● Fondateur projet XiVO(
http://xivo.io)
● Associé @Avencall
● Directeur R&D
● Défenseur et utilisateur du LL
(1998)
● Fan Asterisk/Openstack/Docker
● Pilote privé
● Guitare
Docker
Les composants
● Docker
– Client
– Serveur
● Docker compose
● Docker swarm
● Docker machine
● Le HUB
Installation Docker
● curl -sL https://get.docker.io/ | sh
● wget -qO- https://get.docker.io/ | sh
● docker –help
● Attention apt-get install docker sous debian/ubuntu
n'installera pas docker mais un package pour le
system tray kde3/gnome2
– https://packages.debian.org/jessie/docker
● Utiliser apt-get install docker.io sous ubuntu, mais le
mieux étant d'utiliser le package de get.docker.io
Le premier lancement
● docker run -i -t ubuntu /bin/bash
Enjoy!
Image vs Container
● Image == pseudo disque dur contenant les
informations, le système
● Container == environnement démarré
● Une image peut avoir plusieurs container qui
l'utilise avec des paramètres différents
Les commandes à connaître
● docker ps
● docker log
● docker run (rm)
● docker build
● docker <cmd> help
● docker stats
● docker images (rmi)
● docker inspect
Construire sa première image
● Utilisation d'un fichier qui décrit comment
construire l'image, le dockerfile
● Syntaxe simple
– Exemple : RUN apt-get update
● On peut réutiliser une image existante pour
étendre la sienne
– FROM ubuntu
Le dockerfile
from python:2.7
MAINTAINER Sylvain Boily "sboily@avencall.com"
RUN apt-get -yq update 
&& apt-get -yqq dist-upgrade 
&& apt-get -yq autoremove
ADD . /usr/src/admin
WORKDIR /usr/src/admin
RUN pip install -r requirements.txt
RUN python setup.py install
EXPOSE 80
CMD python run.py
Example avec XiVO
● Test
– http://blog.xivo.io/index.php?post/2014/12/03/How-we-te
● Développement
– http://github.com/xivo-pbx
– Demo !
● Orchestration
– http://github.com/sboily/config/docker-compose.yml
Orchestration
Orchestration
● Docker-compose
– Installation simple : pip install docker-compose
● Fonctionne avec un fichier YAML pour décrire
comment on orchestre le système
● Exemple sur mon github avec XiVO
– https://github.com/sboily/config/blob/master/docker-
compose.yml
Autres composants
● Docker swarm
– Mettre en œuvre du cluster nativement avec docker
– https://docs.docker.com/swarm/
● Docker machine
– Déployer docker sur vos serveurs, cloud public etc
… simplement
– https://docs.docker.com/machine/
– docker-machine create -d virtualbox dev
$ docker-machine create -d virtualbox dev
INFO[0000] Creating SSH key...
INFO[0000] Creating VirtualBox VM...
INFO[0007] Starting VirtualBox VM...
INFO[0007] Waiting for VM to start...
INFO[0041] "dev" has been created and is now the active machine.
INFO[0041] To point your Docker client at it, run this in your shell: eval "$(docker-machine env dev)"
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM
dev * virtualbox Running tcp://192.168.99.127:2376
$ eval "$(docker-machine env dev)"
$ docker run busybox echo hello world
Unable to find image 'busybox:latest' locally
511136ea3c5a: Pull complete
df7546f9f060: Pull complete
ea13149945cb: Pull complete
4986bf8c1536: Pull complete
hello world
Docker machine
Docker API REST
● https://docs.docker.com/reference/api/docker_remo
● Permet de controler le daemon comme le client
en CLI
Interface de gestion
● https://github.com/crosbymichael/dockerui
● docker run -d -p 9000:9000 --privileged -v
/var/run/docker.sock:/var/run/docker.sock
dockerui/dockerui
● Ouvrir un navigateur web sur le port 9000!
Question ?
The end
● Merci de m'avoir écouter !
● Pour me rejoindre
– Twitter @quintana_
– IRC freenode / quintana
– Email : sboily@avencall.com

Contenu connexe

PDF
Docker Tours Meetup #1 - Introduction à Docker
PDF
Introduction à Docker et Gaudi
PDF
NightClazz Docker Découverte
PPTX
Docker - YaJUG
PDF
Intro docker
PDF
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
PDF
Julien Maitrehenry - Docker, ça mange quoi au printemps
PDF
Déploiements avec Docker
Docker Tours Meetup #1 - Introduction à Docker
Introduction à Docker et Gaudi
NightClazz Docker Découverte
Docker - YaJUG
Intro docker
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Julien Maitrehenry - Docker, ça mange quoi au printemps
Déploiements avec Docker

Tendances (20)

PDF
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
PDF
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
PPTX
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
PDF
Docker en Production (Docker Paris)
PDF
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
PPTX
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
PDF
Docker du mythe à la réalité
PDF
Introduction à docker.io
PDF
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
PDF
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
PDF
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
PDF
Livre blanc docker
PPTX
Varnish & blue/green deployments
PDF
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
PPTX
Docker le buzz est il justifié ?
PDF
Gdg lille-intro-to-kubernetes
PDF
A la découverte de docker
PDF
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
PDF
Distribuer une application avec Symfony & Docker *
PDF
Geek Time Mars 2017 : Workshop Docker
Alter Way's digitalks - Docker : des conteneurs pour tout faire ?
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker nice meetup #1 construire, déployer et exécuter vos applications, ...
Docker en Production (Docker Paris)
Introduction à Docker et utilisation en production /Digital apéro Besançon [1...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Docker du mythe à la réalité
Introduction à docker.io
Docker ! De la découverte à la mise en production / Digital apéro [19/03/2015]
CI, CD, pipelines, conteneurs : la cohabitation est elle possible ?
Support formation vidéo : Construire et administrer vos conteneurs avec Docker
Livre blanc docker
Varnish & blue/green deployments
Docker avec Rancher, du dev à la prod - Makazi au devopsdday 2016
Docker le buzz est il justifié ?
Gdg lille-intro-to-kubernetes
A la découverte de docker
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016
Distribuer une application avec Symfony & Docker *
Geek Time Mars 2017 : Workshop Docker
Publicité

En vedette (20)

PDF
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
PDF
從軟體開發角度
談 Docker 的應用
PPTX
Load Balancing Apps in Docker Swarm with NGINX
PPT
El Poder MediáTico
PDF
2008 2009 Evaluacion Al Servicio De Los Aprendizajes
PPT
F U N D A M E N T O S D E B I O T E C N O L O GÍ A(97 2003)
PDF
BoletíN Informativo 02 Junio 2009 Concursal ReestructuracióN E Insolven...
PDF
Mairies communes du Pays de Fouesnant --php2 fn73y
PPT
Educar Fuera De La Escuela (Jose Daniel)
PDF
Informatica Version5 0
PPT
Tic Ruanda de campos
PPTX
L A S CÉ L U L A S Y L O S O R G A N I S M O S V I V O S
PPT
Talleres de Radio
PPTX
MODAFAD BARCELONA 2009
XLS
Representantes De Cada Distrito Fisica, Artistica, Ciudadana
PDF
Mairies communes du Pays de Fouesnant --phpp wtiel
PPS
Alfabeto Emocional Sard B Muy Bueno
PPT
E L E C T R I C I D A D Y M A G N E T I S M O (97 2003)
PDF
Peuplement automatisé d’ontologies par analyse des programmes scolaires
PPTX
Trabajo univim jose miguel hernandez
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
從軟體開發角度
談 Docker 的應用
Load Balancing Apps in Docker Swarm with NGINX
El Poder MediáTico
2008 2009 Evaluacion Al Servicio De Los Aprendizajes
F U N D A M E N T O S D E B I O T E C N O L O GÍ A(97 2003)
BoletíN Informativo 02 Junio 2009 Concursal ReestructuracióN E Insolven...
Mairies communes du Pays de Fouesnant --php2 fn73y
Educar Fuera De La Escuela (Jose Daniel)
Informatica Version5 0
Tic Ruanda de campos
L A S CÉ L U L A S Y L O S O R G A N I S M O S V I V O S
Talleres de Radio
MODAFAD BARCELONA 2009
Representantes De Cada Distrito Fisica, Artistica, Ciudadana
Mairies communes du Pays de Fouesnant --phpp wtiel
Alfabeto Emocional Sard B Muy Bueno
E L E C T R I C I D A D Y M A G N E T I S M O (97 2003)
Peuplement automatisé d’ontologies par analyse des programmes scolaires
Trabajo univim jose miguel hernandez
Publicité

Similaire à Docker@linuq (20)

PPT
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
PDF
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
PDF
Midi technique - présentation docker
PDF
Docker, mais qu’est-ce que c’est ?
PPTX
A la découverte de docker, 2ème partie
PPTX
Comment remplacer cygwin par docker
PPTX
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
PDF
Alphorm.com Formation Docker (2/2) - Administration Avancée
PDF
Docker, ça mange quoi au printemps
PDF
Docker & son ecosystème
PDF
TPDOCKERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
PDF
DOCKER presentation for clouf computing.
PDF
docker.pdf
PDF
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
PPTX
Vulgarisation de la technologie de containers Docker
PPTX
Support : introduction à docker
PPTX
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
PPTX
docker.pptx
PPTX
Intro to docker
PDF
De la chaîne de production au SI géré par des logiciels
5390997 Support formation : Construire et administrer vos conteneurs avec Doc...
Oxalide Workshop #4 - Docker, des tours dans le petit bassin
Midi technique - présentation docker
Docker, mais qu’est-ce que c’est ?
A la découverte de docker, 2ème partie
Comment remplacer cygwin par docker
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
Alphorm.com Formation Docker (2/2) - Administration Avancée
Docker, ça mange quoi au printemps
Docker & son ecosystème
TPDOCKERRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
DOCKER presentation for clouf computing.
docker.pdf
optimadata.nl-Comment exécuter Postgres sur Docker partie 1.pdf
Vulgarisation de la technologie de containers Docker
Support : introduction à docker
Gab17 lyon-Docker pour quoi faire - Cédric Leblond et Derue
docker.pptx
Intro to docker
De la chaîne de production au SI géré par des logiciels

Dernier (7)

PDF
FORMATION EN Programmation En Langage C.pdf
PDF
presentation_with_intro_compressee IEEE EPS France
PDF
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
PDF
Modems expliqués- votre passerelle vers Internet.pdf
PPTX
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
PPTX
Presentation_Securite_Reseaux_Bac+2.pptx
PDF
Tendances tech 2025 - SFEIR & WENVISION.pdf
FORMATION EN Programmation En Langage C.pdf
presentation_with_intro_compressee IEEE EPS France
FORMATION COMPLETE EN EXCEL DONE BY MR. NYONGA BRICE.pdf
Modems expliqués- votre passerelle vers Internet.pdf
Souveraineté numérique - Définition et enjeux pour les entreprises et les dév...
Presentation_Securite_Reseaux_Bac+2.pptx
Tendances tech 2025 - SFEIR & WENVISION.pdf

Docker@linuq

  • 1. Atelier Docker @linuq Découverte de docker Exemple concret avec XiVO Le 28 mars 2015 Sylvain Boily
  • 2. /ME ● Fondateur projet XiVO( http://xivo.io) ● Associé @Avencall ● Directeur R&D ● Défenseur et utilisateur du LL (1998) ● Fan Asterisk/Openstack/Docker ● Pilote privé ● Guitare
  • 4. Les composants ● Docker – Client – Serveur ● Docker compose ● Docker swarm ● Docker machine ● Le HUB
  • 5. Installation Docker ● curl -sL https://get.docker.io/ | sh ● wget -qO- https://get.docker.io/ | sh ● docker –help ● Attention apt-get install docker sous debian/ubuntu n'installera pas docker mais un package pour le system tray kde3/gnome2 – https://packages.debian.org/jessie/docker ● Utiliser apt-get install docker.io sous ubuntu, mais le mieux étant d'utiliser le package de get.docker.io
  • 6. Le premier lancement ● docker run -i -t ubuntu /bin/bash Enjoy!
  • 7. Image vs Container ● Image == pseudo disque dur contenant les informations, le système ● Container == environnement démarré ● Une image peut avoir plusieurs container qui l'utilise avec des paramètres différents
  • 8. Les commandes à connaître ● docker ps ● docker log ● docker run (rm) ● docker build ● docker <cmd> help ● docker stats ● docker images (rmi) ● docker inspect
  • 9. Construire sa première image ● Utilisation d'un fichier qui décrit comment construire l'image, le dockerfile ● Syntaxe simple – Exemple : RUN apt-get update ● On peut réutiliser une image existante pour étendre la sienne – FROM ubuntu
  • 10. Le dockerfile from python:2.7 MAINTAINER Sylvain Boily "sboily@avencall.com" RUN apt-get -yq update && apt-get -yqq dist-upgrade && apt-get -yq autoremove ADD . /usr/src/admin WORKDIR /usr/src/admin RUN pip install -r requirements.txt RUN python setup.py install EXPOSE 80 CMD python run.py
  • 11. Example avec XiVO ● Test – http://blog.xivo.io/index.php?post/2014/12/03/How-we-te ● Développement – http://github.com/xivo-pbx – Demo ! ● Orchestration – http://github.com/sboily/config/docker-compose.yml
  • 13. Orchestration ● Docker-compose – Installation simple : pip install docker-compose ● Fonctionne avec un fichier YAML pour décrire comment on orchestre le système ● Exemple sur mon github avec XiVO – https://github.com/sboily/config/blob/master/docker- compose.yml
  • 14. Autres composants ● Docker swarm – Mettre en œuvre du cluster nativement avec docker – https://docs.docker.com/swarm/ ● Docker machine – Déployer docker sur vos serveurs, cloud public etc … simplement – https://docs.docker.com/machine/ – docker-machine create -d virtualbox dev
  • 15. $ docker-machine create -d virtualbox dev INFO[0000] Creating SSH key... INFO[0000] Creating VirtualBox VM... INFO[0007] Starting VirtualBox VM... INFO[0007] Waiting for VM to start... INFO[0041] "dev" has been created and is now the active machine. INFO[0041] To point your Docker client at it, run this in your shell: eval "$(docker-machine env dev)" $ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM dev * virtualbox Running tcp://192.168.99.127:2376 $ eval "$(docker-machine env dev)" $ docker run busybox echo hello world Unable to find image 'busybox:latest' locally 511136ea3c5a: Pull complete df7546f9f060: Pull complete ea13149945cb: Pull complete 4986bf8c1536: Pull complete hello world Docker machine
  • 16. Docker API REST ● https://docs.docker.com/reference/api/docker_remo ● Permet de controler le daemon comme le client en CLI
  • 17. Interface de gestion ● https://github.com/crosbymichael/dockerui ● docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock dockerui/dockerui ● Ouvrir un navigateur web sur le port 9000!
  • 19. The end ● Merci de m'avoir écouter ! ● Pour me rejoindre – Twitter @quintana_ – IRC freenode / quintana – Email : sboily@avencall.com