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)
●...
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
● Attent...
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...
Les commandes à connaître
● docker ps
● docker log
● docker run (rm)
● docker build
● docker <cmd> help
● docker stats
● d...
Construire sa première image
● Utilisation d'un fichier qui décrit comment
construire l'image, le dockerfile
● Syntaxe sim...
Le dockerfile
from python:2.7
MAINTAINER Sylvain Boily "sboily@avencall.com"
RUN apt-get -yq update 
&& apt-get -yqq dist-...
Example avec XiVO
● Test
– http://blog.xivo.io/index.php?post/2014/12/03/How-we-te
● Développement
– http://github.com/xiv...
Orchestration
Orchestration
● Docker-compose
– Installation simple : pip install docker-compose
● Fonctionne avec un fichier YAML pour d...
Autres composants
● Docker swarm
– Mettre en œuvre du cluster nativement avec docker
– https://docs.docker.com/swarm/
● Do...
$ docker-machine create -d virtualbox dev
INFO[0000] Creating SSH key...
INFO[0000] Creating VirtualBox VM...
INFO[0007] S...
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/doc...
Question ?
The end
● Merci de m'avoir écouter !
● Pour me rejoindre
– Twitter @quintana_
– IRC freenode / quintana
– Email : sboily@a...
Prochain SlideShare
Chargement dans…5
×

Docker@linuq

688 vues

Publié le

Présentation/atelier au linuq à Québec du 28 mars 2015 sur Docker.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
688
Sur SlideShare
0
Issues des intégrations
0
Intégrations
11
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Docker@linuq

  1. 1. Atelier Docker @linuq Découverte de docker Exemple concret avec XiVO Le 28 mars 2015 Sylvain Boily
  2. 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
  3. 3. Docker
  4. 4. Les composants ● Docker – Client – Serveur ● Docker compose ● Docker swarm ● Docker machine ● Le HUB
  5. 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. 6. Le premier lancement ● docker run -i -t ubuntu /bin/bash Enjoy!
  7. 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. 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. 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. 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. 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
  12. 12. Orchestration
  13. 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. 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. 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. 16. Docker API REST ● https://docs.docker.com/reference/api/docker_remo ● Permet de controler le daemon comme le client en CLI
  17. 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!
  18. 18. Question ?
  19. 19. The end ● Merci de m'avoir écouter ! ● Pour me rejoindre – Twitter @quintana_ – IRC freenode / quintana – Email : sboily@avencall.com

×