Docker : prise en main et mise en pratique sur une architecture micro-services

Tallennettuna:
Bibliografiset tiedot
Päätekijä: Gouigoux, Jean-Philippe
Aineistotyyppi: Livre papier
Kieli:Français
Julkaistu: St-Herblain : Éditions ENI C 2015.
Sarja:Epsilon
Aiheet:
Huomautus: La couv. porte en plus : "Téléchargement, www.editions-eni.fr"
Autres localisations: Voir dans le Sudoc
Sisällysluettelo:
  • Avant-propos
  • Chapitre 1 Introduction à Docker
  • P. 13
  • 1. Docker ou la virtualisation légère
  • P. 13
  • 1.1 L'approche par virtualisation
  • P. 15
  • 1.2 Docker pour optimiser l'usage des ressources
  • P. 17
  • 1.3 Positionnement de Docker par rapport à la virtualisation
  • P. 19
  • 2. Principe des conteneurs
  • P. 20
  • 2.1 Principe des conteneurs industriels
  • P. 21
  • 2.2 Docker et l'approche normalisée
  • P. 22
  • 3. Les fondements de Docker
  • P. 22
  • 3.1 Namespaces
  • P. 24
  • 3.2 Cgroups
  • P. 24
  • 3.3 LXC
  • P. 25
  • 3.4 Libcontainer
  • P. 26
  • 3.5 Système de fichiers en couches
  • P. 33
  • 4. Les plus de Docker
  • P. 34
  • 5. L'écosystème Docker
  • P. 36
  • 6. Architectures de services
  • P. 36
  • 6.1 Historique des architectures de services
  • P. 38
  • 6.2 Architecture de microservices
  • P. 43
  • 6.3 Apport de Docker
  • P. 44
  • 6.4 Fil conducteur
  • Chapitre 2 Premiers pas
  • P. 45
  • 1. Installation de Docker
  • P. 46
  • 1.1 Utiliser des machines préconfigurées
  • P. 51
  • 1.2 Installation de Docker sur Linux
  • P. 53
  • 1.3 Installation de Docker sous Windows ou Mac OS X
  • P. 63
  • 1.4 Utilisation de Docker avec Vagrant
  • P. 68
  • 2. Hello World, Docker
  • P. 68
  • 2.1 Démarrage d'un conteneur simple
  • P. 69
  • 2.2 Que s'est-il passé ?
  • P. 77
  • 3. Manipulations de base
  • P. 77
  • 3.1 Trouver une image Docker préexistante
  • P. 88
  • 3.2 Gestion du compte Docker Hub et dépôts privés
  • P. 96
  • 4. Un second conteneur
  • P. 96
  • 4.1 Récupération de l'image
  • P. 97
  • 4.2 Explication des tags
  • P. 99
  • 4.3 Premier lancement
  • P. 102
  • 4.4 Lancement en mode interactif
  • P. 105
  • 4.5 Persistance des modifications sous forme d'une image
  • P. 107
  • 4.6 Prise en main du client Docker
  • P. 114
  • 4.7 Manipulation des conteneurs
  • P. 127
  • 5. Retours sur les premiers pas
  • Chapitre 3 Création de vos propres images
  • P. 129
  • 1. Création manuelle d'une nouvelle image
  • P. 129
  • 1.1 Installation d'un logiciel dans un conteneur
  • P. 132
  • 1.2 Persistance de l'image pour une utilisation future
  • P. 133
  • 1.3 Utilisation de l'image créée
  • P. 135
  • 1.4 Connexion depuis la machine hôte
  • P. 137
  • 1.5 Suite des opérations
  • P. 138
  • 2. Utilisation d'un Dockerfile
  • P. 138
  • 2.1 Intérêt des fichiers Dockerfile
  • P. 140
  • 2.2 Utilisation d'un fichier Dockerfile
  • P. 143
  • 2.3 Résultats de l'utilisation d'un Dockerfile complet
  • P. 144
  • 2.4 Anatomie d'un fichier Dockerfile
  • P. 155
  • 2.5 Notre premier Dockerfile
  • P. 165
  • 2.6 Commandes additionnelles
  • P. 174
  • 3. Partage et réutilisation simple des images
  • P. 174
  • 3.1 Envoi sur votre compte Docker Hub
  • P. 177
  • 3.2 Export et import sous forme de fichiers
  • P. 178
  • 4. Bonnes pratiques
  • P. 178
  • 4.1 Principe du cache sur les images
  • P. 184
  • 4.2 Principe du cache à la compilation
  • P. 201
  • 4.3 Conséquences sur l'écriture des Dockerfile
  • P. 209
  • 4.4 Conséquences sur le choix des images de base
  • P. 213
  • 4.5 Arborescence recommandée
  • P. 218
  • 4.6 La question du processus unique
  • P. 221
  • 5. Pour aller plus loin
  • Chapitre 4 Installation d'un registre privé
  • P. 223
  • 1. Premiers pas pour un registre privé
  • P. 223
  • 1.1 Avertissement sur l'ancien registre
  • P. 224
  • 1.2 Image Docker en local
  • P. 226
  • 1.3 Pointer sur un registre donné
  • P. 227
  • 1.4 Registre sur le réseau local
  • P. 239
  • 2. Un registre plus professionnel
  • P. 239
  • 2.1 Gestion de la persistance
  • P. 251
  • 2.2 Sécurisation du registre
  • P. 270
  • 2.3 Un vrai registre en production
  • P. 272
  • 3. Approches complémentaires
  • P. 272
  • 3.1 Utilisation d'un service cloud déjà préparé
  • P. 273
  • 3.2 L'API du registre
  • P. 273
  • 3.3 Mise en place d'un miroir
  • P. 277
  • 3.4 Mise en place d'un cache pour les paquetages
  • Chapitre 5 Mise en oeuvre d'une architecture logicielle
  • P. 283
  • 1. Présentation de l'application exemple
  • P. 283
  • 1.1 Architecture
  • P. 285
  • 1.2 Installation
  • P. 288
  • 1.3 Utilisation
  • P. 290
  • 1.4 Utilité
  • P. 291
  • 1.5 Principes à l'oeuvre
  • P. 293
  • 2. Création de l'architecture exemple
  • P. 293
  • 2.1 Principes de construction
  • P. 294
  • 2.2 Détails de l'image aspnetbase
  • P. 297
  • 2.3 Détails du service optimizer
  • P. 307
  • 2.4 Détails du service calculator
  • P. 313
  • 2.5 Mise en place de liens entre conteneurs
  • P. 318
  • 2.6 Détails du service reporting
  • P. 323
  • 2.7 Détails du service notifier
  • P. 328
  • 2.8 Détails du service de persistance
  • P. 329
  • 2.9 Détails de l'image nodebase
  • P. 331
  • 2.10 Détails du service portal
  • P. 336
  • 2.11 État atteint
  • P. 337
  • 3. Redéployer automatiquement avec Docker Compose
  • P. 337
  • 3.1 Principe de Docker Compose
  • P. 339
  • 3.2 Écriture du fichier docker-compose.yml
  • P. 340
  • 3.3 Mise en oeuvre
  • P. 344
  • 3.4 Parallélisation des traitements
  • P. 347
  • 3.5 Limites
  • P. 347
  • 4. Exploitation d'une infrastructure Docker
  • P. 347
  • 4.1 Le réseau dans Docker
  • P. 358
  • 4.2 Les volumes Docker
  • Chapitre 6 Déploiement dans un cluster
  • P. 367
  • 1. Description globale de l'approche
  • P. 367
  • 1.1 Objectif
  • P. 368
  • 1.2 État des lieux
  • P. 369
  • 1.3 Avertissement préalable sur notre choix
  • P. 370
  • 1.4 Déroulement de l'exemple
  • P. 370
  • 2. Montage d'un cluster CoreOS
  • P. 370
  • 2.1 Choix du cloud cible
  • P. 371
  • 2.2 Installation des outils
  • P. 372
  • 2.3 Création du fichier de configuration de CoreOS
  • P. 374
  • 2.4 Création du service
  • P. 374
  • 2.5 Provisionnement du cluster
  • P. 376
  • 2.6 Manipulation locale
  • P. 379
  • 2.7 Pilotage du cluster depuis une machine externe
  • P. 381
  • 2.8 Script de suppression du cluster
  • P. 382
  • 3. Déploiement global des services
  • P. 382
  • 3.1 Approche
  • P. 383
  • 3.2 Installation de Docker Compose
  • P. 383
  • 3.3 Publication des services
  • P. 385
  • 3.4 Reprise du fichier docker
  • P. 386
  • 3.5 Mise en oeuvre
  • P. 390
  • 4. Déploiement atomique des services
  • P. 390
  • 4.1 Approche
  • P. 392
  • 4.2 Les outils
  • P. 393
  • 4.3 Gestion des fichiers d'unités
  • P. 397
  • 4.4 Gestion des unités
  • P. 409
  • 4.5 Perspectives
  • P. 413
  • 5. Approches alternatives
  • P. 413
  • 5.1 Docker Swarm
  • P. 414
  • 5.2 Docker Machines
  • Chapitre 7 Encore plus loin avec Docker
  • P. 415
  • 1. Docker dans votre usine logicielle
  • P. 415
  • 1.1 Docker à tous les étages
  • P. 417
  • 1.2 Produire des images en sortie de build
  • P. 419
  • 1.3 Utiliser des conteneurs pour l'usine logicielle
  • P. 421
  • 1.4 Utiliser des conteneurs pour les tests
  • P. 424
  • 1.5 Retour sur le registre
  • P. 425
  • 1.6 Perspectives
  • P. 426
  • 2. Avant de partir en production avec Docker
  • P. 427
  • 2.1 Sécurité
  • P. 427
  • 2.2 Restriction sur les ressources
  • P. 428
  • 2.3 Supervision
  • P. 429
  • 3. Docker et Windows
  • P. 429
  • 3.1 Le client Docker sous Windows
  • P. 431
  • 3.2 Docker sur Azure
  • P. 432
  • 3.3 Docker sous Windows Server
  • P. 433
  • 4. Conclusion
  • P. 435
  • Index