2. 2
Qui suis-je
Lead dev web / depuis 11ans chez Dis-Group, Lille
Technos principales : GNU Linux, Apache, MySQL, PHP, ZendFramework, WordPress,
Javascript, jQuery
Depuis 6ans : sites d'actualités basé sur WordPress-Mu, 10 millions visites/mois
Depuis 1an : utilisation de Docker en environnement de développement
Nouveau projet : mise en place d'un stack de dev basé sur Docker, WordPress
(Bedrock), Git
twitter.com/@yannux | yannux@onbebop.net
3. 3
Au programme
Une introduction accessible, concrète, sans trop rentrer dans la technique.
1. Docker pour qui et pour quoi
2. Côté technique
3. Exemples concrets
4. Ce qu'on n'a pas vue
5. Aller plus loin
Pas de chat, mais un chien !
4. 4 . 1
Docker pour qui ?
Toute personne ayant un impact sur la réalisation d'un projet
de la conception à la phase de test.
Développeur / Intégrateur / Chef de projet / Admin Système &
Réseau
Pour ceux qui veullent bidouiller, tester
Pour apprendre, tout simplement
5. 4 . 2
Docker pour quoi ?
Un environnement de développement adapté à chaque projet et identique à la
production
Peut importe son système d'exploitation de base
Effectuer facilement des tests lors de la mise à jours des composants logiciels d'un
serveur ( version de Apache / PHP /MySQL / librairie diverse etc..)
Partager facilement un envrionnement de développement.
Découvrir un langage ou applicatif sans avoir à tout installer directement sur son
système.
6. 5 . 1
Côté technique
À l'usage : similaire à VirtualBox/VMware
Dans les 2 cas on isole des programmes de son système principale
VMware/VirtualBox permettent de créer des machines virtuelles
Docker permet de gérer des containers
Cependant...
Une machine virtuel = OS + environnement applicatif : c'est lourd
Un container = juste environnement applicatif : c'est plus léger !
À usage égale, un container Docker est plus rapide qu'une machine virtuelle
7. 5 . 2
Côté technique - Vocabulaire
Docker utilise essentiellement :
Dockerfile
Fichier texte qui décrit comment créer une image
Image
C'est le modèle qui permettra de créer un/des container(s)
Container
C'est la "boite" qui sera exéctué par Docker pour faire fonctionner votre applicatif
Volume
Il permet de mettre les fichiers de l'application dans une autre "boite", lié au(x)
container(s)
9. 7 . 1
Exemples concrets
Level 1 : Un pour tous, tous pour un !
Level 2 : Diviser pour mieux régner !
Level 3 : Crash test !
Pour ces exemples nous utiliserons docker-compose qui
permet de créer encore + facilement nos containers !
10. 7 . 2
docker-compose ?
Outil en ligne de commande qui permet de créer
automatiquement des containers et de les lier
entre eux
Utilise un fichier texte qui décrit les containers et
leurs liaisons : docker-compose.yml
11. 8 . 1
Level 1 : Un pour tous, tous pour un !
Les ingrédients :
1 container WordPress en version 4.4
1 container MySQL
Temps de préparation : 5minutes
12. 8 . 2
Level 1 : Un pour tous, tous pour un !
La recette :
wordpress_v44:
image: wordpress:4.4-apache
links:
- mysql_v44
environment:
- WORDPRESS_DB_PASSWORD=password
- WORDPRESS_DB_HOST=mysql_v44:3306
ports:
- "8081:80"
mysql_v44:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wordpress
13. 9 . 1
Level 2 : Diviser pour mieux régner !
Les ingrédients :
1 container WordPress en version 4.4
1 container MySQL
1 volume qui va contenir le dossier /wp-content de WordPress
Temps de préparation : 5minutes
15. 10 . 1
Level 3 : Crash test !
Les ingrédients :
1 container WordPress en version 4.6
1 container MySQL
Notre précédent volume qui contient déjà le dossier /wp-content de WordPress
Temps de préparation : 5minutes
17. 11
Ce qu'on a pas vue
Installer Docker sur Windows, Mac OS, GNU Linux /
Docker Hub : pour trouver des images existantes
Tous les outils trop bien (Kitematic, docker-ui, etc...)
Sauvegarder, partager, restaurer facilement un container ou une image
Créer ses images avec un Dockerfile
18. 12
Pour aller plus loin
Un petit atelier + technique WordPress Rennes ?
Rennes DevOps : http://rennesdevops.fr (+ meetup)
Un dossier de présentation complet :
https://www.guillaume-leduc.fr/docker-comme-
solution-de-virtualisation-theorie.html
Google / Qwant / DuckDuckGo ;)