Problèmes rencontrés avec Docker

Le storage driver

Le storage driver de Docker lui permet de stocker les images et les conteneurs il existe différents types disponibles en fonction de la version de son noyau Linux (plus celui ci est récent plus il y a de choix disponibles) :

  • Le device mapper est disponible quelque soit la version de son noyau, il est très lents sur les accès disque dans sa configuration par défaut (il faut lui réserver une partition afin qu’il puisse fonctionner correctement)
  • AUFS est disponible sur certaines distributions (Ubuntu et Debian par exemple mais pas CentOS) qui incluent le patch AUFS sur leur noyau et permet d’avoir un système de fichier efficace sans créer de nouvelle partition (ce driver fonctionne sur les fichiers la où le devicemapper fonctionne sur des blocs)
  • Overlay 1 et 2 ces deux drivers sont disponible depuis Linux 3.18 et 4.0 respectivement. Ces drivers sont à un stage plus expérimental que les autres (la stabilité n’est pas garantie) mais devraient êtres plus efficaces

Par défaut sur notre machine utilisant CentOS et un noyau Linux 3.10 le storage driver utilisé est un devicemapper. C’est à dire qu’un fichier est créé dans lequel sont stockés les blocs. Cette méthode est très lente, pour l’amélioré il faut créer une partition LVM et l’associé à Docker en modifiant le script de démarage du daemon : voir la documentation