{"product_id":"138196","title":"Apprenez le développement et l'exploitation des conteneurs Docker\/Kubernetes depuis le début. ","description":"\u003ccenter\u003e\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/tmgdisk01.cafe24.com\/images\/vs\/4172\/sv\/3jXPB8rkhwi0xfR3Jg8hV3fsfDUNCF.png?v=1765061115\" style=\"max-width:100%;max-height:10px\"\u003e\u003c\/div\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\u003ccenter\u003e\n\n\u003cdiv style=\"width:95%\"\u003e\n\n\u003cdiv style=\"text-align:center;font-size:30px;font-weight:bolder;line-height:1.6em\"\u003e Apprenez le développement et l'exploitation des conteneurs Docker\/Kubernetes depuis le début. \u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"border-bottom:1px;border-bottom-style:dotted;border-color:;padding-bottom:20px\"\u003e\u003ccenter\u003e\u003ctable align=\"center\" width=\"100%\"\u003e\u003ctbody style=\"border:0px\"\u003e\n\n\u003ctr\u003e\u003ctd align=\"center\" style=\"line-height:1.2em;text-align:center;font-size:18px;color:black;font-weight:bold;padding-bottom:20px;\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\u003ctr\u003e\u003ctd style=\"text-align:center\"\u003e\u003cimg src=\"https:\/\/image.yes24.com\/goods\/146355057\/XL\" style=\"max-width:100%;height:auto\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\n\n\n\u003c\/tbody\u003e\u003c\/table\u003e\u003c\/center\u003e\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;{split_style6}padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e Description \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;word-break:break-all;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eIntroduction au livre\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e  \u003cdiv\u003e\n\u003cb\u003eGuide complet de la technologie de conteneurs Docker\/Kubernetes pour le développement et l'exploitation d'applications pratiques\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Il s'agit d'un ouvrage d'introduction pratique qui résume les principes fondamentaux de la technologie des conteneurs utilisant Docker et Kubernetes.\u003cbr\u003e Il est structuré de manière à ce que vous puissiez apprendre étape par étape, en commençant par le concept de la technologie de virtualisation des conteneurs, le déploiement d'applications basées sur Docker et la création d'images, la configuration réseau et le système d'orchestration Kubernetes.\u003cbr\u003e Entièrement révisé et augmenté depuis sa première édition, cet ouvrage reflète les dernières évolutions de l'écosystème. Fort de la vaste expérience de l'auteur en développement de conteneurs et riche d'études de cas pratiques, il s'adresse aussi bien aux débutants qu'aux utilisateurs intermédiaires.\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003cul\u003e\u003cli\u003e Vous pouvez consulter un aperçu du contenu du livre.\u003cbr\u003e \u003cspan\u003eAperçu\u003c\/span\u003e\n\n\u003c\/li\u003e\u003c\/ul\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eindice\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e Préface du traducteur xiii\u003cbr\u003e Revue du lecteur bêta xiv\u003cbr\u003e Début XVI\u003cbr\u003e Remerciements xviii\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 1 Principes de base des conteneurs et de Docker 1\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 1.1 Qu'est-ce qu'un contenant ? 1\u003cbr\u003e __1.1.1 Virtualisation conteneurisée 2  \u003cbr\u003e__1.1.2 Cas d'utilisation du conteneur 3\u003cbr\u003e 5 inconvénients des conteneurs à colonne\u003cbr\u003e 1.2 Qu'est-ce que Docker ? 5\u003cbr\u003e 1.2.1 Historique de Docker et de Docker, Inc. 6\u003cbr\u003e __1.2.2 Docker 7 axé sur le déploiement d'applications\u003cbr\u003e __1.2.3 Accès Docker 8\u003cbr\u003e COLONNE Projet Moby 11\u003cbr\u003e 1.3 Pourquoi utiliser des contenants ? 11\u003cbr\u003e 1.3.1 Garantir la reproductibilité grâce à des applications et des environnements d'exécution immuables 12\u003cbr\u003e COLONNE Cloud IaC et infrastructure immuable 15\u003cbr\u003e COLONNE Technologie des conteneurs et plateformes sans serveur 16\u003cbr\u003e __1.3.2 Facilité de gestion de la configuration des applications 16\u003cbr\u003e 1.3.3 Grande portabilité quel que soit l'environnement 18\u003cbr\u003e __1.3.4 Efficacité du développement basé sur les conteneurs 20\u003cbr\u003e 1.4 Création d'un environnement d'exécution de conteneurs local 20\u003cbr\u003e __1.4.1 Installation de Docker Desktop 21\u003cbr\u003e Architecture de bras de colonne 24\u003cbr\u003e __1.4.2 Configuration de Docker Desktop 25\u003cbr\u003e __1.4.3 Dépannage de Docker Desktop 30\u003cbr\u003e COLONNE Installation de l'environnement Linux 32\u003cbr\u003e COLONNE Plan d'abonnement Docker 32\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 2 DÉPLOIEMENT DES CONTENEURS 33\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 2.1 Exécution d'applications dans des conteneurs 33 \u003cbr\u003e__2.1.1 Images de conteneurs et notions de base sur les conteneurs 34\u003cbr\u003e 2.2 Création d'une application simple et d'une image conteneur 37\u003cbr\u003e __2.2.1 Instructions Dockerfile 39\u003cbr\u003e Écrasez 40 lors de l'exécution de COLUMN CMD\u003cbr\u003e Apprenez à exécuter des commandes avec COLUMN ENTRYPOINT 42\u003cbr\u003e COLONNE Autres instructions dans le Dockerfile 44\u003cbr\u003e Méthode de spécification 45 de la colonne CMD\u003cbr\u003e __2.2.2 Exécution d'un conteneur 45\u003cbr\u003e COLONNE Commandes Docker courtes 46\u003cbr\u003e 2.3 Gestion des images 48\u003cbr\u003e __2.3.1 Construction d'une image Docker ― Construction de l'image 50\u003cbr\u003e __2.3.2 Recherche Docker ― Recherche d'images 54\u003cbr\u003e __2.3.3 docker image pull ― Récupération d'une image 56\u003cbr\u003e __2.3.4 docker image ls ― Liste des images 57\u003cbr\u003e __2.3.5 étiquette d'image Docker ― Étiquette d'image 57\u003cbr\u003e __2.3.6 Connexion Docker ― Connexion au registre de conteneurs 60\u003cbr\u003e __2.3.7 docker image push ― Version de l'image 64\u003cbr\u003e Publication d'images de conteneurs dans le cadre de la GHCR 67\u003cbr\u003e 2.4 Manutention des conteneurs 67\u003cbr\u003e __2.4.1 Cycle de vie du conteneur 68\u003cbr\u003e __2.4.2 Exécution d'un conteneur Docker — Création et exécution d'un conteneur 69 \u003cbr\u003e71 options fréquemment utilisées lors de l'exécution de la commande COLUMN\u003cbr\u003e __2.4.3 docker container ls ― liste des conteneurs 72\u003cbr\u003e __2.4.4 docker container stop ― Arrêter le conteneur 74\u003cbr\u003e __2.4.5 docker container rm ― Destruction d'un conteneur 74\u003cbr\u003e __2.4.6 Journaux du conteneur Docker ― Vérification des journaux (sortie de flux standard) 76\u003cbr\u003e __2.4.7 docker container exec ― Exécuter une commande dans un conteneur en cours d'exécution 77\u003cbr\u003e __2.4.8 conteneur docker cp ― copier le fichier 78\u003cbr\u003e 2.5 Commandes pour la gestion des opérations 79\u003cbr\u003e __2.5.1 élagage ― destruction 79\u003cbr\u003e __2.5.2 Statistiques des conteneurs Docker ― Obtenir l'état d'utilisation 80\u003cbr\u003e 2.6 Docker Compose 81\u003cbr\u003e __2.6.1 Exécution d'un conteneur unique avec Docker Compose 81\u003cbr\u003e __2.6.2 Exécution de plusieurs conteneurs avec Compose 84\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 3 Construction et déploiement de conteneurs pratiques 93\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 3.1 Configuration des applications et des conteneurs 93\u003cbr\u003e 3.1.1 Un conteneur = un processus ? 95\u003cbr\u003e 3.1.2 Un problème par conteneur 98\u003cbr\u003e 3.2 Portabilité du conteneur 100 \u003cbr\u003e3.2.1 Différences avec le noyau et l'architecture 100\u003cbr\u003e Conteneurs COLUMN : notions de base sous Windows\u003cbr\u003e 3.2.2 Bibliothèque, Liaison dynamique 101\u003cbr\u003e 3.3 Applications compatibles avec les conteneurs 102\u003cbr\u003e __3.3.1 Création d'une image incluant un fichier de configuration 103\u003cbr\u003e __3.3.2 Utilisation de fichiers de configuration en dehors du conteneur 103\u003cbr\u003e CHRONIQUE Il ne s'agit pas seulement de produits adaptés aux contenants.\u003cbr\u003e 107\u003cbr\u003e 3.4 Comment gérer les informations de sécurité 107\u003cbr\u003e 3.4.1 Conteneur 107 Réception des informations de sécurité\u003cbr\u003e 3.4.2 Difficultés de gestion des systèmes de contrôle de version et des informations de sécurité 108\u003cbr\u003e 3.4.3 Gestion des informations de sécurité à l'aide de secrets 109\u003cbr\u003e CHRONIQUE Attaques de la chaîne d'approvisionnement logicielle 111\u003cbr\u003e 3.4.4 Il n'existe pas de solution parfaite 111\u003cbr\u003e 3.5 Comment utiliser les données persistantes 112\u003cbr\u003e __3.5.1 Volume de données 112\u003cbr\u003e __3.5.2 Conteneur de volume de données 114\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 4 Création d'applications utilisant plusieurs conteneurs 119\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 4.1 Configuration des applications Web 119\u003cbr\u003e __4.1.1 Spécifications d'application 120\u003cbr\u003e __4.1.2 Architecture 120\u003cbr\u003e 4.2 Création de MySQL 123 \u003cbr\u003e4.2.1 Création d'un mot de passe pour un utilisateur se connectant à MySQL 124\u003cbr\u003e __4.2.2 Configuration de conteneurs MySQL supplémentaires 125\u003cbr\u003e __4.2.3 Dockerfile MySQL 126\u003cbr\u003e __4.2.4 Configuration du conteneur MySQL 126\u003cbr\u003e 4.3 Création du migreur de base de données 128\u003cbr\u003e __4.3.1 Migration d'une base de données avec golang-migrate 128\u003cbr\u003e __4.3.2 Script d'exécution de la migration 131\u003cbr\u003e __4.3.3 Fichier Docker du migrateur de base de données 132\u003cbr\u003e COLONNE .dockerignore fichier 134\u003cbr\u003e __4.3.4 Configuration du conteneur de migration de base de données 134\u003cbr\u003e 4.4 Création d'un serveur API et d'un serveur Web 139\u003cbr\u003e __4.4.1 Configuration du répertoire du référentiel 140\u003cbr\u003e COLONNE Polyrepo et Monorepo 142\u003cbr\u003e __4.4.2 Détails du fichier exécutable et de la commande 142\u003cbr\u003e 4.4.3 Création d'un serveur API 144\u003cbr\u003e __4.4.4 Création d'un serveur Web 151\u003cbr\u003e 4.5 Création d'un proxy inverse 158\u003cbr\u003e __4.5.1 Structure du modèle du conteneur nginx 159\u003cbr\u003e COLONNE kit d'entrée 163\u003cbr\u003e __4.5.2 Dockerfile 163\u003cbr\u003e 4.6 Exécution d'une application de gestion des tâches par la configuration de plusieurs conteneurs 164\u003cbr\u003e __4.6.1 compose.yaml 164  \u003cbr\u003e__4.6.2 Exécution de l'application de gestion des tâches 170\u003cbr\u003e 4.7 Amélioration de l'expérience de développement avec plusieurs configurations de conteneurs grâce à Tilt 171\u003cbr\u003e __4.7.1 Exécution de l'inclinaison 171\u003cbr\u003e 4.7.2 Les puissantes fonctionnalités de Tilt 172\u003cbr\u003e 4.8 Principes de base de l'orchestration de conteneurs 176\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 5 : Introduction à Kubernetes 177\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 5.1 Qu'est-ce que Kubernetes ? 178\u003cbr\u003e __5.1.1 L'essor de Docker et la naissance de Kubernetes 178\u003cbr\u003e __5.1.2 Kubernetes Phase 179\u003cbr\u003e 5.2 Exécution de Kubernetes en local 181\u003cbr\u003e __5.2.1 Création d'un environnement Kubernetes local dans Docker Desktop 181\u003cbr\u003e COLONNE Autres outils de construction Kubernetes 187\u003cbr\u003e 5.3 Vue d'ensemble de Kubernetes 187\u003cbr\u003e 5.4 Cluster Kubernetes et nœud 188\u003cbr\u003e Composants de gestion des colonnes qui constituent le plan de contrôle 190\u003cbr\u003e 5.5 Espaces de noms 191\u003cbr\u003e 5.6 Pad 192\u003cbr\u003e __5.6.1 Création et déploiement de pods 193\u003cbr\u003e __5.6.2 Manipulation des coussinets 195\u003cbr\u003e COLONNE Adresse du pod et du conteneur à l'intérieur du pod 197\u003cbr\u003e 5.7 ReplicaSet 197\u003cbr\u003e 5.8 Déploiement 199\u003cbr\u003e __5.8.1 Cycle de vie d'un ReplicaSet 202\u003cbr\u003e __5.8.2 Exécution d'une restauration 204 \u003cbr\u003e5.9 Service 205\u003cbr\u003e __5.9.1 Routage du trafic à l'aide de sélecteurs d'étiquettes 208\u003cbr\u003e Analyse du nom du service COLUMN 211\u003cbr\u003e __5.9.2 Service ClusterIP 211\u003cbr\u003e __5.9.3 Service sans interface graphique 211\u003cbr\u003e __5.9.4 Service NodePort 213\u003cbr\u003e __5.9.5 Service d'équilibrage de charge 214\u003cbr\u003e __5.9.6 Service de nom externe 214\u003cbr\u003e 5.10 Entrée 215\u003cbr\u003e __5.10.1 Contrôleur d'entrée et classe d'entrée 215\u003cbr\u003e __5.10.2 Accès via Ingress 216\u003cbr\u003e COLONNE Comment spécifier les types et les noms de ressources avec kubectl 221\u003cbr\u003e Détection des mises à jour des fichiers manifestes avec COLUMN Tilt et mise à jour automatique des ressources 222\u003cbr\u003e COLONNE kk9s 223\u003cbr\u003e COLONNE API Kubernetes 224\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 6 : Déploiement de Kubernetes et création d’un cluster 226\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 6.1 Configuration de l'application de gestion des tâches 226\u003cbr\u003e 6.1.1 Ressources Kubernetes : Configuration de l’application de gestion des tâches 227\u003cbr\u003e 6.2 Déploiement de l'application de gestion des tâches sur Kubernetes 227\u003cbr\u003e __6.2.1 Espace de noms 228\u003cbr\u003e __6.2.2 Secret 228\u003cbr\u003e __6.2.3 Distribution MySQL 232\u003cbr\u003e COLONNE ServiceName de StatefulSet 237 \u003cbr\u003e__6.2.4 Déploiement du migreur de base de données 238\u003cbr\u003e __6.2.5 Déploiement du serveur API 241\u003cbr\u003e __6.2.6 Déploiement du serveur Web 245\u003cbr\u003e 6.3 Publication d'applications Kubernetes en ligne 251\u003cbr\u003e 6.3.1 Déploiement d'Azure Kubernetes Service 251\u003cbr\u003e COLONNE Publication de votre application avec votre propre domaine et HTTPS 257\u003cbr\u003e COLONNE kubectx 259\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 7 Exploiter Kubernetes 260\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 7.1 Stratégie de déploiement des modules 260\u003cbr\u003e __7.1.1 Mise à jour progressive 261\u003cbr\u003e Commande kubectl patch pour mettre à jour une partie de la ressource COLUMN 266\u003cbr\u003e __7.1.2 Configuration des contrôles d'état lors de l'exécution des conteneurs 268\u003cbr\u003e COLONNE Arrêt sécurisé des applications et suppression des modules 271\u003cbr\u003e __7.1.3 Déploiement bleu-vert 272\u003cbr\u003e COLONNE 277 Produits qui implémentent un maillage de services\u003cbr\u003e 7.2 Exécution de tâches par lots régulières dans Kubernetes 278\u003cbr\u003e __7.2.1 Tâche Cron 278\u003cbr\u003e 7.2.2 Exécution des tâches cron en tenant compte des fuseaux horaires 284\u003cbr\u003e __7.2.3 Exécution d'une tâche ponctuelle à partir d'une tâche cron 284\u003cbr\u003e 7.3 Gestion des utilisateurs et contrôle d'accès basé sur les rôles (RBAC) 285 \u003cbr\u003e7.3.1 Mise en œuvre du contrôle des permissions à l'aide de RBAC 286\u003cbr\u003e __7.3.2 Création d'un rôle de cluster 288\u003cbr\u003e __7.3.3 Création d'un compte de service 290\u003cbr\u003e __7.3.4 Création d'une liaison de rôle de cluster 291\u003cbr\u003e __7.3.5 Utilisateur général 294\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 8 : Packaging des applications Kubernetes 299\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 8.1 Kustomize 300\u003cbr\u003e 8.1.1 Utilisation de base 301\u003cbr\u003e COLONNE Non recommandé Étiquettes courantes 309\u003cbr\u003e 8.1.2 Réutilisation et superpositions partielles 310\u003cbr\u003e 8.1.3 Gestion des secrets dans Kustomize 315\u003cbr\u003e 8.1.4 Génération d'un manifeste sur le réseau 321\u003cbr\u003e 8.2 Casque 323\u003cbr\u003e __8.2.1 Installation de Helm 324\u003cbr\u003e 8.2.2 Cartes et référentiels Helm 325\u003cbr\u003e __8.2.3 Installation du graphique 328\u003cbr\u003e 8.2.4 Création de votre propre graphique 332\u003cbr\u003e COLONNE Étiquettes recommandées pour Kubernetes 347\u003cbr\u003e 8.2.5 Enregistrement d'un graphique dans le registre 347\u003cbr\u003e COLONNE Connexion des paquets et des dépôts GHCR 351\u003cbr\u003e COLONNE Initiative Open Container (OCI) 353\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 9 OPÉRATIONS RELATIVES AUX CONTENEURS 354\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 9.1 Opération de journalisation 354\u003cbr\u003e __9.1.1 Journal du conteneur 354\u003cbr\u003e __9.1.2 Opérations de journalisation des conteneurs 358 \u003cbr\u003e__9.1.3 Création d'une configuration de collecte et de gestion des journaux à l'aide d'Elastic Stack 360\u003cbr\u003e COLONNE Choisir une instance stable d'Elasticsearch 384\u003cbr\u003e Gestion des journaux propre à COLUMN Cloud 385\u003cbr\u003e __9.1.4 poupe 385\u003cbr\u003e 9.2 Opérations Kubernetes à haute disponibilité 387\u003cbr\u003e __9.2.1 Comportement de Kubernetes lors d'une défaillance de nœud 387\u003cbr\u003e __9.2.2 Stratégie de déploiement de pods résiliente aux pannes avec anti-affinité de pod 388\u003cbr\u003e __9.2.3 Séparation des pods gourmands en ressources CPU avec l'affinité de nœud 394\u003cbr\u003e __9.2.4 Mise à l'échelle automatique des pods à l'aide de l'autoscaler horizontal de pods 399\u003cbr\u003e __9.2.5 Mise à l'échelle automatique des nœuds à l'aide de Cluster Autoscaler 401\u003cbr\u003e COLONNE 402 : Une structure pour l’exploitation légère des clusters et des nœuds Kubernetes\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 10 Création et exploitation d'images de conteneurs optimales 403\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 10.1 Quelle est l'image de conteneur optimale pour le fonctionnement ? 403\u003cbr\u003e __10.1.1 Problèmes causés par l'augmentation de la taille de l'image 404\u003cbr\u003e 10.2 Image de base légère 404\u003cbr\u003e __10.2.1 rayure 405\u003cbr\u003e __10.2.2 BusyBox 411\u003cbr\u003e __10.2.3 Alpine Linux 415 \u003cbr\u003eCOLONNE 417 Faut-il utiliser l'image de base Alpine Linux ?\u003cbr\u003e __10.2.4 Distroless 418\u003cbr\u003e 10.3 Création d'une image conteneur légère 423\u003cbr\u003e __10.3.1 Réduction de la taille de votre application déployée 423\u003cbr\u003e 10.3.2 Prendre en compte la structure en couches des images conteneurs 424\u003cbr\u003e 10.4 Constructions multi-étapes 428\u003cbr\u003e __10.4.1 Séparation des conteneurs de construction et des conteneurs d'exécution 429\u003cbr\u003e COLONNE Utilisation d'une image externe comme scène 432\u003cbr\u003e 10.5 BuildKit 433\u003cbr\u003e __10.5.1 Qu'est-ce que BuildKit ? 433\u003cbr\u003e __10.5.2 Prise en charge multiplateforme des conteneurs 433\u003cbr\u003e __10.5.3 Création d'images multiplateformes avec BuildKit 435\u003cbr\u003e COLONNE QEMU 436\u003cbr\u003e CHRONIQUE : Jusqu'où doivent aller les images multiplateformes ? 441\u003cbr\u003e 10.6 Utilisation et création d'images de conteneurs sécurisées 441\u003cbr\u003e __10.6.1 Configuration minimale des images de conteneur 442\u003cbr\u003e __10.6.2 Évitez l'exécution en mode privilégié 442\u003cbr\u003e __10.6.3 Évitez d'exécuter en tant qu'utilisateur root 442\u003cbr\u003e __10.6.4 Utilisation d'images et d'outils de conteneurs de confiance 446 \u003cbr\u003e__10.6.5 Vérification des vulnérabilités des images de conteneurs avec Trivy 448\u003cbr\u003e 10.7 Création d'images de conteneurs avec les outils CI 451\u003cbr\u003e __10.7.1 Actions GitHub 452\u003cbr\u003e __10.7.2 Création d'un dépôt à partir d'un modèle 453\u003cbr\u003e __10.7.3 Paramètres de flux de travail 455\u003cbr\u003e __10.7.4 Exécution du flux de travail 460\u003cbr\u003e Éviter la balise image la plus récente dans les opérations COLUMN 464\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 11 Livraison continue de conteneurs 465\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 11.1 Qu'est-ce que la livraison continue ? 465\u003cbr\u003e __11.1.1 Problèmes causés par des processus de déploiement non optimisés 465\u003cbr\u003e 11.1.2 L'importance de la livraison de logiciels et la distinction CI\/CD 466\u003cbr\u003e __11.1.3 Livraison continue avec GitOps 467\u003cbr\u003e 11.2 Flux 469\u003cbr\u003e __11.2.1 Installation de Flux 469\u003cbr\u003e __11.2.2 Déploiement d'applications 470\u003cbr\u003e 11.3 Argo CD 475\u003cbr\u003e __11.3.1 Installation du CD Argo 475\u003cbr\u003e __11.3.2 Déploiement d'application 478\u003cbr\u003e 11.4 PipeCD 484\u003cbr\u003e __11.4.1 Fonctionnalités de PipeCD 484\u003cbr\u003e __11.4.2 Création d'un environnement de démarrage rapide 485\u003cbr\u003e __11.4.3 Déploiement d'applications 489\u003cbr\u003e COLONNE Pourquoi construire un plan de contrôle et le raccorder séparément dans PipeCD 493\u003cbr\u003e 11.5 Automatisation complète de la livraison de logiciels 495 \u003cbr\u003e__11.5.1 Mise à jour automatique des balises d'image de conteneur définies dans le manifeste 495\u003cbr\u003e COLONNE 507 : Intégrer un processus d’approbation dans GitOps\u003cbr\u003e\u003cbr\u003e \u003cb\u003eCHAPITRE 12 : Divers usages des contenants 508\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e 12.1 Unification et partage des environnements de développement dans le cadre du développement en équipe 508\u003cbr\u003e __12.1.1 Unification des logiciels et outils que vous utilisez 508\u003cbr\u003e __12.1.2 Environnement de développement et intelligence collective 510\u003cbr\u003e Les conteneurs COLUMN peuvent-ils remplacer Vagrant ? 511\u003cbr\u003e 12.2 Utilisation des outils en ligne de commande dans les conteneurs 512\u003cbr\u003e __12.2.1 Exécution de Trivy dans un conteneur 512\u003cbr\u003e __12.2.2 Exécution d'un script shell dans un conteneur 515\u003cbr\u003e 12.3 Tests de charge 517\u003cbr\u003e __12.3.1 Aperçu des criquets 517\u003cbr\u003e __12.3.2 Tests de charge des applications dans Kubernetes 518\u003cbr\u003e Exécution de tests de charge sur la colonne k6 526\u003cbr\u003e\u003cbr\u003e \u003cb\u003eANNEXE A : Configuration des outils de développement 528\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e A.1 WSL2 528\u003cbr\u003e __A.1.1 Conditions WSL2 529\u003cbr\u003e __A.1.2 Installation de WSL2 529\u003cbr\u003e __A.1.3 Distributions disponibles pour WSL2 530\u003cbr\u003e __A.1.4 effectuer l'installation 531 \u003cbr\u003eCOLONNE Établir un style de développement avec WSL2 532\u003cbr\u003e A.2 asdf 532\u003cbr\u003e __A.2.1 Qu'est-ce que asdf ? 533\u003cbr\u003e __A.2.2 asdf installation 533\u003cbr\u003e __A.2.3 Installation de l'outil 534\u003cbr\u003e __A.2.4 Définir la version utilisée 534\u003cbr\u003e A.3 type 535\u003cbr\u003e __A.3.1 type installation 536\u003cbr\u003e __A.3.2 Création d'un cluster Kubernetes multi-nœuds dans votre environnement local 536\u003cbr\u003e COLONNE Docker dans Docker \/ Conteneur dans Conteneur 538\u003cbr\u003e A.4 Rancher Desktop 538\u003cbr\u003e\u003cbr\u003e \u003cb\u003eANNEXE B Environnements d'orchestration de conteneurs divers 542\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e B.1 Moteur Kubernetes de Google 542\u003cbr\u003e __B.1.1 Préparation de la construction d'un cluster GKE 543\u003cbr\u003e __B.1.2 Création d'un cluster GKE 545\u003cbr\u003e B.2 Amazon Elastic Kubernetes Service 548\u003cbr\u003e __B.2.1 Préparation de la construction d'un cluster EKS 548\u003cbr\u003e __B.2.2 Création d'un cluster EKS à l'aide de eksctl 550\u003cbr\u003e COLONNE EKS sur Fargate 555\u003cbr\u003e B.3 Azure Kubernetes Service 556\u003cbr\u003e __B.3.1 Préparation de la construction d'un cluster AKS 557\u003cbr\u003e __B.3.2 Création d'un cluster AKS 559\u003cbr\u003e __B.3.3 Opérations du cluster AKS 560\u003cbr\u003e B.4 Création d'un cluster Kubernetes dans un environnement sur site 561\u003cbr\u003e __B.4.1 Préparation de la construction d'un cluster sur site 561 \u003cbr\u003e__B.4.2 Création d'un cluster EKS à l'aide de Kubespray 563\u003cbr\u003e B.5 Amazon Elastic Container Service 566\u003cbr\u003e __B.5.1 Création d'un cluster ECS et définition des déploiements de conteneurs avec CDK 567\u003cbr\u003e __B.5.2 Création d'un cluster ECS et déploiement de conteneurs avec CDK 569\u003cbr\u003e COLONNE Amazon ECS Anywhere 571\u003cbr\u003e\u003cbr\u003e \u003cb\u003eANNEXE C Conseils sur le développement et l'exploitation des conteneurs 572\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e C.1 Environnement d'exécution du conteneur 572\u003cbr\u003e __C.1.1 conteneur 573\u003cbr\u003e CHRONIQUE La dépréciation de Docker dans Kubernetes : le tumulte 574\u003cbr\u003e C.1.2 nerdctl 574\u003cbr\u003e C.2 Conseil Kubernetes 575\u003cbr\u003e __C.2.1 Débogage des pods existants via des conteneurs éphémères 575\u003cbr\u003e __C.2.2 Renforcement de la sécurité à l'aide de l'admission de sécurité du pod 578\u003cbr\u003e COLONNE Agent de police ouvert 581\u003cbr\u003e C.3 Conseils de développement et de déploiement de conteneurs 581\u003cbr\u003e __C.3.1 Mise à jour automatique des conteneurs avec Compose Watch 581\u003cbr\u003e __C.3.2 Gestion des applications Kubernetes avec Tilt 583\u003cbr\u003e C.4 Amélioration de l'efficacité du développement de conteneurs grâce à l'IA générative 585\u003cbr\u003e __C.4.1 Utilisation de ChatGPT 586\u003cbr\u003e __C.4.2 Utilisation de GitHub Copilot 587\u003cbr\u003e Gestionnaire de paquets C.5 Alpine Linux apk 589 \u003cbr\u003e__C.5.1 Manipulation du gestionnaire de packages APK 589\u003cbr\u003e __C.5.2 package alpine-sdk 592\u003cbr\u003e\u003cbr\u003e Référence 593\u003cbr\u003e Recherche 595\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eImage détaillée\u003c\/b\u003e \u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\u003cdiv\u003e\u003cimg src=\"https:\/\/image.yes24.com\/momo\/TopCate5313\/MidCate009\/531285565(1).jpg\" border=\"0\" alt=\"Image détaillée 1\"\u003e\u003c\/div\u003e\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eDans le livre\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e Prenons le développement d'applications web comme exemple.\u003cbr\u003e Les conteneurs vous permettent de préparer rapidement des applications pour votre environnement de développement local et de les déployer telles quelles, quelle que soit la plateforme.\u003cbr\u003e Étant donné que chaque conteneur utilise le même environnement d'exécution, les problèmes dépendant de cet environnement peuvent être minimisés.\u003cbr\u003e De plus, les serveurs web tels qu'Apache ou nginx peuvent être installés dans des conteneurs sans étapes compliquées.\u003cbr\u003e La gestion de la configuration système, y compris les intergiciels, est également définie dans le fichier de paramètres.\u003cbr\u003e L'introduction des conteneurs peut à elle seule simplifier le développement et les opérations.\u003cbr\u003e\u003cbr\u003e --- p.12\u003cbr\u003e\u003cbr\u003e Au vu de ce que nous avons abordé jusqu'à présent, vous pourriez être tenté de convertir toutes vos structures en conteneurs, mais les conteneurs ne conviennent pas à tout. \u003cbr\u003eIl existe également des domaines où l'utilisation de conteneurs, comme les bases de données, peut s'avérer difficile.\u003cbr\u003e \/ Récemment, des solutions de stockage de données gérées, à faible charge et à grande évolutivité, sont également proposées sur les plateformes cloud, ce qui permet de les utiliser de manière appropriée sans avoir à imposer l'utilisation de conteneurs.\u003cbr\u003e Il est important de choisir la bonne fonction pour le bon endroit.\u003cbr\u003e Les serveurs sans état, tels que les serveurs web ou les serveurs API, peuvent être conteneurisés sans y consacrer beaucoup de temps.\u003cbr\u003e Compte tenu de son avantage en termes de grande portabilité, la technologie des conteneurs ne peut être efficace que si elle est introduite à la fois dans les environnements de développement et d'exploitation.\u003cbr\u003e Il existe déjà de nombreux exemples de réussite, et les services gérés dans le cloud deviennent plus faciles à utiliser.\u003cbr\u003e\u003cbr\u003e --- p.19\u003cbr\u003e \u003cbr\u003eLes pods créés avec des Deployments et des ReplicaSets conviennent aux applications résidentes telles que les serveurs web, tandis que les Jobs conviennent aux calculs à grande échelle et aux applications par lots.\u003cbr\u003e Même si tous les pods interceptés sont arrêtés normalement, ils ne sont pas supprimés et restent en mémoire, ce qui vous permet d'analyser les journaux et les résultats d'exécution des pods après leur arrêt.\u003cbr\u003e Il peut être facilement étendu en exécutant plusieurs pods en parallèle, et son traitement est aisé grâce à son exécution en tant que pod et sa connexion aux services Kubernetes.\u003cbr\u003e\u003cbr\u003e --- p.239\u003cbr\u003e\u003cbr\u003e Une image temporaire est la première image créée en injectant des fichiers provenant de l'extérieur du conteneur via la commande Dockerfile.\u003cbr\u003e Si nous suivons les parents de toutes les images conteneurs existantes, elles aboutissent toutes à l'image temporaire.\u003cbr\u003e Autrement dit, Scratch est l'ancêtre de l'image conteneur.\u003cbr\u003e \/ gratter L'intérieur est vide. \u003cbr\u003eLors de la création d'une image basée sur ce modèle, les fichiers nécessaires sont copiés depuis l'extérieur du conteneur afin de configurer l'image.\u003cbr\u003e Jusqu'à présent, vous pouviez entrer dans le conteneur en utilisant sh, donc à première vue, l'intérieur du conteneur ne semblait pas différent d'un système Linux normal.\u003cbr\u003e Vous vous demandez peut-être comment nous pouvons générer une image à partir d'une image vierge qui semble reproduire fidèlement le système d'exploitation.\u003cbr\u003e \/ Créons donc une image Ubuntu.\u003cbr\u003e\u003cbr\u003e --- p.405\u003cbr\u003e\u003cbr\u003e Dans le cadre du développement en équipe, l'utilisation d'outils et de versions unifiés peut contribuer à éviter des problèmes inutiles.\u003cbr\u003e Lorsqu'on travaille simultanément sur plusieurs projets, l'environnement hôte peut être contaminé lors du passage d'un projet à l'autre.\u003cbr\u003e Pour éviter ce genre de problèmes, il est judicieux de fournir un environnement de développement commun dans un conteneur isolé de l'hôte et incluant les outils nécessaires. \u003cbr\u003ePar exemple, pour utiliser des systèmes de stockage de données tels que MySQL et Redis, vous avez besoin d'outils clients pour les manipuler.\u003cbr\u003e Envisagez d'utiliser un standard d'équipe tel que redis-tools, qui comprend mycli1, un client MySQL haute performance, et Redis Cli2, un client Redis.\u003cbr\u003e\n\n\u003c\/div\u003e\n\u003cdiv\u003e --- pp.508-509\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cbr\u003e\u003cdiv\u003e\u003ch5\u003e \u003cb\u003eAvis de l'éditeur\u003c\/b\u003e\n\u003c\/h5\u003e\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e \u003cb\u003eUne introduction pratique à la technologie des conteneurs que vous pouvez apprendre en suivant les instructions.\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e Dans un environnement de développement logiciel en constante évolution, la technologie des conteneurs est devenue une nécessité, et non plus une option. Docker et Kubernetes sont désormais des outils essentiels que tout développeur se doit de maîtriser.\u003cbr\u003e Les exigences omnidirectionnelles qui touchent le frontend, le backend, l'infrastructure et le DevOps imposent la technologie des conteneurs à tous les développeurs.\u003cbr\u003e\u003cbr\u003e Ce livre est structuré pour vous aider à apprendre la technologie des conteneurs étape par étape, en se concentrant sur Docker et Kubernetes. \u003cbr\u003ePlutôt que de se contenter d'énumérer des concepts, il propose des exemples et une structure axés sur la pratique, permettant même aux débutants de développer un sens pratique immédiatement applicable au travail réel.\u003cbr\u003e Il regorge de compétences pratiques essentielles, allant de la création d'images, à la configuration multi-conteneurs et aux stratégies d'orchestration utilisant Kubernetes.\u003cbr\u003e Cette édition révisée a été entièrement revue et augmentée pour refléter l'évolution de l'écosystème moderne, et l'expérience pratique et l'expertise technique de l'auteur ont été intégrées pour créer un guide plus approfondi et plus pratique.\u003cbr\u003e Au-delà de l'apprentissage conceptuel, vous développerez l'état d'esprit nécessaire au développement et aux opérations, et vous serez capable d'appliquer la technologie des conteneurs en pratique.\u003cbr\u003e\u003cbr\u003e Un guide convivial et pratique pour tous les développeurs, des débutants aux experts, qui souhaitent apprendre correctement la technologie des conteneurs.\u003cbr\u003e Faites vos premiers pas dans le monde des technologies de conteneurs grâce à ce livre !\u003cbr\u003e\u003cbr\u003e Contenu principal\u003cbr\u003e ● Concepts, structure et principes d'exécution des conteneurs et de Docker \u003cbr\u003e● Entraînez-vous à créer et à exécuter des images Docker, ainsi qu'à configurer la redirection de ports.\u003cbr\u003e ● Configuration et exécution de plusieurs conteneurs à l'aide de Compose\u003cbr\u003e ● Connexion réseau, montage et gestion des secrets entre les conteneurs\u003cbr\u003e ● Création d'une application web et d'un serveur API basés sur Docker\u003cbr\u003e ● Mise en place d'un système de stockage de données MySQL réel et d'un conteneur de migration\u003cbr\u003e Exploitation à haute disponibilité et stratégie de mise à l'échelle via Kubernetes\u003cbr\u003e ● Compétences pratiques telles que les paramètres de sécurité, les volumes et la collecte des journaux dans l'environnement d'exploitation \u003c\/div\u003e\n\u003cdiv\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cdiv style=\"width:95%;padding-top:20px;padding-bottom:20px\"\u003e\n\n\u003cdiv style=\"text-align:left;font-size:16px;font-weight:bold;padding-bottom:20px\"\u003e SPÉCIFICATIONS DES PRODUITS \u003c\/div\u003e\n\n\u003cdiv style=\"text-align:left;font-size:14px;line-height:1.6em;\"\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eDate d'émission :\u003c\/strong\u003e 29 mai 2025\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e \u003cstrong\u003eNombre de pages, poids, dimensions :\u003c\/strong\u003e 624 pages | 1 192 g | 188 × 245 × 30 mm\u003c\/div\u003e\n\n\u003cdiv style=\"width:100%;margin-bottom:5px;line-height:1.6em;font-size:14px\"\u003e - \u003cstrong\u003eISBN13 :\u003c\/strong\u003e 9791194587279 \u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\n\u003c\/div\u003e\n\n\u003ccenter\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003ccenter\u003e\u003ctable\u003e\u003ctr\u003e\u003ctd style=\"height:10px\"\u003e\u003c\/td\u003e\u003c\/tr\u003e\u003c\/table\u003e\u003c\/center\u003e\n\n\u003cspan\u003e\u003c\/span\u003e\n\n\u003c\/center\u003e\n\n\n\u003c\/center\u003e","brand":"LIBRAIRIE COREENNE","offers":[{"title":"Default Title","offer_id":43893214216234,"sku":"138196","price":53.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0683\/2750\/5962\/files\/53ee88d2ae7efa6b27b4d1030aeed782.jpg?v=1765392130","url":"https:\/\/librairie.coreenne.fr\/products\/138196","provider":"LIBRAIRIE COREENNE","version":"1.0","type":"link"}