https://voxxeddays.com/luxembourg/
CFP-voxxed-lux.yajug.org
22 Juin
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
2013 2014 2015 2016
0.1
2013-03-23
Première release publique
1.0.0
2014-06-09
Production ready
1.0.0
2014-10-16
Fig devient Docker-Compose
1.6.0
2016-01-15
Compose file 2.0
1.9.0
2015-11-03
Networking
Volume
1.10
2016-02-04
Seccomp
User Namespaces
1.0.0
2015-10-13
Production Ready
1.1.0
2016-02-04
Production Ready
Slide 6
Slide 6 text
Pourquoi Docker ?
Slide 7
Slide 7 text
« Chez moi, ça marche ! »
Slide 8
Slide 8 text
IT avant
Monolithique
une grosse application, une technologie
Scalabitité verticale
Plus gros serveur
Cycle de vie très long
Grosse mise en production, peu fréquente
Slide 9
Slide 9 text
Et maintenant ?
Micro-Services, SOA, Distribuée
Plein de petites applications spécialisées
Plusieurs languages
Utilisation du plus adapté pour une tâche
Scalabitité horizontale
Plus de serveur en //
Cycle de vie court, itératif
Slide 10
Slide 10 text
? ? ? ?
? ? ? ?
? ? ? ?
? ? ? ?
Slide 11
Slide 11 text
Analogie
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
Qu’est-ce que
Docker?
Slide 17
Slide 17 text
Container vs VM
Slide 18
Slide 18 text
Virtual Machine
Host OS
Server
Server
Hypervisor
Hypervisor
Guest
OS
Bin/Lib
App
Guest
OS
Bin/Lib
App
Guest
OS
Bin/Lib
App
Guest
OS
Bin/Lib
App
Guest
OS
Guest
OS
Bin/Lib
Bin/Lib
App
App
VM
VM
Slide 19
Slide 19 text
Container
Server
Host OS
Bin/Lib
App
avec des vrais
morceaux de
Bin/Lib
App App
Conteneur Conteneur
Slide 20
Slide 20 text
Container
Léger
Taille(Container) < Taille(VM)
—> Transfert réseau plus rapide
Démarre plus rapidement
Performance
Pas d’overhead mémoire
Léger overhead réseau*
Isolation
* Utilisation de NAT dans le mode de réseau par défaut
Slide 21
Slide 21 text
Mais
Partage du Kernel
Uniquement Linux->Linux
Faille Kernel non isolée
Container = 1 process*
Attention aux dépendances sur syslog, cron, logrotate, …
* Il est possible de lancer plusieurs processus fils
Slide 22
Slide 22 text
Docker ?
Une révolution ?!
Slide 23
Slide 23 text
Container
Concept pas vraiment neuf
Solaris Zone, BSD Jails, LXC
Orienté SysAdmin
Donc complexe ;-)
Volume
•Filesystem externe au conteneur
Permet la persistance des
données
•Partageable entre plusieurs
conteneurs
•Extensible par des plugins
NFS, AWS EBS, …
Slide 31
Slide 31 text
Network
•Réseau dédié
Permet l’isolation d’un groupe de
conteneur
•Out of the box : Host / Overlay
Host : Réseau propre à un engine
Overlay : Réseau accessible entre
plusieurs nodes
•Extensible par des plugins
Weave, Calico, ..
Slide 32
Slide 32 text
Dockerfile
Slide 33
Slide 33 text
Request-an-Inbox Dockerfile
FROM java:8-jdk
MAINTAINER Gildas Cuisinier
RUN useradd -d "/opt/rai" -u 1000 -m rai
ADD request-an-inbox-0.0.1.jar ./
WORKDIR /opt/rai
USER rai
EXPOSE 8080
CMD java -jar request-an-inbox-0.0.1-SNAPSHOT.jar