Upload
silicon-comte
View
144
Download
1
Embed Size (px)
Citation preview
Introduction et utilisation en productionAlexandre Di Pino - 10 mars 2015
Sommaire
• Présentation
• Exemple d’utilisation
• Retour d’experience
• À venir
Présentation
Haut niveau• Utilisation de LXC et cgroups introduit par
le kernel 2.6.24 (Noyau 3.10 minimum)
• Tourne sur le kernel système
• Utilise très peu de ressource face à un VM
• Utilisation de snapshots
• Open source (Apache 2) Ne fonctionne que sous linux, pour le
moment
Exemple d’utilisation
Je travaille sous Windows ou MacOS ? No problem !
• 30Mo
• Docker prêt à l’utilisation
• Utilise Virtual Box
• Partage facile des fichiers entre la VM et l’hôte
Boot2docker :
Sous Linux
- curl -sSL https://get.docker.com/ubuntu/ | sudo sh
- On teste : sudo docker run -i -t ubuntu bash
Exemple 1 : NGINX et MYSQL
sudo docker run -d -P --name web nginx
sudo docker run -d -e MYSQL_ROOT_PASSWORD=toto -P --name database mysql
Exemple 2 : Ajoutons des fichiers
• -v mon/dossier/local:mon/dossier/dans/le/conteneur:ro
Règle d’or : une app par container
Exemple 3 : Les links
docker run -e MYSQL_ROOT_PASSWORD=toto --name db -v /home/mysql/:/var/lib/mysql/ -d mysql
docker run --name nginx --link db:mysql -v /home/wp/:/var/www/html/ -p 80:80 -d nginx
Les volumes
• -v mon/dossier/local:mon/dossier/dans/le/conteneur
• --volumes-from web
C’est bien beau tout ça mais je fais quoi
si aucune des images ne
correspond à mes besoins?
Les dockerfiles• Construire des images à partir d’un fichier
• docker build
• Format : INSTRUCTION arguments
• FROM, MAINTAINER, RUN, CMD, EXPOSE, ENV, ADD, COPY, ENTRYPOINT, VOLUME, USER, WORKDIR
• Créer une « base image »
Les bonnes pratiques
• Ne pas installer de packages inutiles
• RUN apt-get update && apt-get install -y
Retour d’experience
Sources : - svn - git
Fichiers : - Owncloud
Autres : - Site - Trac - Tests
Serveur
À venir …
Docker Compose• Création d’applications complexe
• Fichier de configuration docker-compose.yml
• Commande : docker-composer up
Docker Machine (beta)• Création d’host sur votre ordinateur, le cloud ou votre propre data
center
• docker-machine create --driver virtualbox dev
• docker $(docker-machine config dev) run busybox
• Drivers disponible pour la plupart des services clouds (AWS, Digital Ocean, Google Compute Engine, Azure, OpenStack, Rackspace ou VMWare )
Docker Swarm (beta)
• Cluster natif pour docker
• Transforme pool d’hosts Docker en un seul virtuel
• docker pull swarm
Un conseil avant de finir
Questions ?