2. Boubker ABERWAG
Développeur Java/JEE IBM Client Innovation Center
aberwagb@fr.ibm.com
b_aberwag@yahoo.fr
https://www.linkedin.com/in/boubkeraberwag
http://www.viadeo.com/fr/profile/boubker.aberwag
3. Historique
Développé par Solomon Hykes pour dotCloud
01/2013 : 1er commit
03/2013 : 1ere demo à Pycon US
03/2013 : Ouverture du dépôt GitHub
06/2013 : Rejoint la fondation Linux
09/2013 : Partenariat avec RedHat
01/2014 : Levée de 15M$
06/2014 : google intègre docker dans son cloud
11/2014 : amazon intègre docker à AWS
12/2014 : IBM intègre docker à BlueMix
10/2014 : Microsoft annonce sa volonté d'intégrer docker à azur
4. C’est quoi Docker?
• Moteur open source basé sur LXC
• utilise Copy-on-write
• Permet la création et le partage d'images
• Propose un format standard pour les conteneurs
• Permet d'exécuter les images plusieurs fois sur plusieurs
plateformes
• Très facile à utiliser
6. Container vs VM
Docker (LXC)
• Un seul OS
• Temps de démarrage
(secondes)
• Montage de volumes
Hyperviseur
• Pleusieurs OS
• Temps de démarrage
(minutes)
• Partage de fichiers NFS
9. Dockerfile
• Fichier qui décrit les étapes nécessaires à la fabrication d’une
image
• Avantage :
• Lisible
• Facilement maintenable
• Facilement évolutif
10. Dockerfile
FROM ubuntu:14.04
RUN echo "1.565.1" > .lts-version-number
RUN apt-get update && apt-get install -y wget git curl zip vim
RUN apt-get update && apt-get install -y apache2 subversion libapache2-svn libsvn-perl
RUN usermod -U www-data && chsh -s /bin/bash www-data
COPY run_apache.sh /var/www/
RUN a2enmod rewrite cgi headers ldap authnz_ldap
WORKDIR /var/svn
CMD ["/var/www/run_apache.sh"]
11. Lancer un Conteneur
docker run
-d
-p 3690:3690
-v /home/sofnul.fr/docker/svn/data/:/var/svn/
--name subversion
erikxiv/subversion
12. Partage d’images
• Push/pull d'image dans un dépôt (privé/public)
• chercher une image dans un dépôt
• dotCloud maintient une base contenant des images (debian, centOS
....)
20. Windows et OSX (EVOLUTION)
• Docker propose deux solutions :
• Docker for Windows
• Docker for Mac
• S'exécute dans une distribution Alpine Linux Sans VirtualBox
• Docker pour Windows : Hyper-V
• Docker pour Mac : Une machine virtuelle Xhyve