Académique Documents
Professionnel Documents
Culture Documents
Introduction à Docker
3.1 Namespaces 22
3.2 Cgroups 24
3.3 LXC 24
3.4 Libcontainer 25
3.5 Système de fichiers en couches 26
3.5.1 Principe d'isolation des fichiers 26
3.5.2 Approche par virtualisation 27
3.5.3 Utilité des systèmes de fichiers en couches 28
3.5.4 Gestion des modifications de fichiers 30
3.5.5 Dernière couche en écriture 32
3.5.6 Technologies utilisées 33
5. L’écosystème Docker 34
6. Architectures de services 36
6.1 Historique des architectures de services 36
6.1.1 Principes 36
6.1.2 Approche EAI 37
6.1.3 Approche SOA 37
6.1.4 Microservices 37
6.1.5 Lien à l'urbanisation des SI 38
6.2 Architecture de microservices 38
6.2.1 Principe 38
6.2.2 Avantages 39
6.2.3 Inconvénients 42
6.3 Apport de Docker 43
6.4 Fil conducteur 44
Premiers pas
1. Installation de Docker 45
1.1 Utiliser des machines préconfigurées 46
1.2 Installation de Docker sur Linux 51
1.2.1 Prérequis 51
1.2.2 Installation par Aptitude 51
1.2.3 Installation par script 51
1.2.4 Installation depuis les binaires 52
1.3 Installation de Docker sous Windows ou Mac OS X 53
1.3.1 Un paradoxe 53
1.3.2 Boot2Docker 53
1.3.3 Docker et Hyper-V 58
1.3.4 Machine virtuelle 63
1.4 Utilisation de Docker avec Vagrant 63
1.4.1 Configuration 64
1.4.2 Mode de fonctionnement sous Linux 66
1.4.3 Mode de fonctionnement sous Windows 66
1.4.4 Pour aller plus loin avec Vagrant 67
3. Manipulations de base 77
3.1 Trouver une image Docker préexistante 77
3.1.1 Le registre Docker 77
3.1.2 Images officielles 79
3.1.3 Autres images 80
3.1.4 Recherche par la ligne de commande 82
3.1.5 Précautions sur une image non officielle 83
3.2 Gestion du compte Docker Hub et dépôts privés 88
3.2.1 Création d'un compte 89
3.2.2 Association à un compte GitHub 89
3.2.3 Connexion au compte en ligne de commande 95
4. Un second conteneur 96
4.1 Récupération de l'image 96
4.2 Explication des tags 97
4.3 Premier lancement 99
4.4 Lancement en mode interactif 102
4.5 Persistance des modifications sous forme d'une image 105
4.6 Prise en main du client Docker 107
4.6.1 Ménage dans les conteneurs 108
4.6.2 Ménage dans les images 108
4.6.3 Suppression automatique à la sortie 109
4.6.4 Affectation d'un nom de conteneur 109
4.6.5 Modification du point d'entrée par défaut 110
4.6.6 Envoi de variables d'environnement 111
4.6.7 Modification du hostname 113
4.7 Manipulation des conteneurs 114
4.7.1 Lancement en mode bloquant 114
4.7.2 Lancement en arrière-plan 116
4.7.3 Gestion correcte du cycle de vie des conteneurs 121
4.7.4 Exposition de fichiers 124
4.7.5 Supervision des conteneurs 126
4. Conclusion 433
Index 435