Post

CM5 Docker

Télécharger le CM5 Docker en pdf

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Page 1 : Système d’exploitationIntroduction à DockerJuan Angel Lorenzo del Castillojuan-angel.lorenzo-del-castillo@cyu.frContributions de : Taisa Guidini GoncalvesMariem ALLOUCH MAHDI1 / 28

page 1

Page 2 : IntroductionPlan1Introduction2Docker3Installation et configuration de Docker42 / 28Création et gestion des conteneurs

page 2

Page 3 : IntroductionPourquoi les conteneurs?Une analogie...Source : Docker3 / 28

page 3

Page 4 : IntroductionPourquoi les conteneurs?Conteneurs maritimes intermodauxSource : Docker4 / 28

page 4

Page 5 : IntroductionPourquoi les conteneurs?Cela a engendré un écosystème de conteneurs maritimes.Source : Docker5 / 28

page 5

Page 6 : IntroductionPourquoi les conteneurs?Informatique : Le problème de déploiement dans l’industrie du logiciel.Docker exécute des conteneurs qui accueillent les services : base de données, serveur web, test, etc.Source : Docker6 / 28

page 6

Page 7 : IntroductionPourquoi les conteneurs?Informatique : Un système de conteneurs pour les applications.Source : Docker7 / 28

page 7

Page 8 : IntroductionComment fonctionne un conteneurUn conteneur enveloppe une application dans une boîte invisible avec tout ce dontelle a besoin pour s’exécuter.Facilite le développement et le déploiement d’un service. Similaire à la virtualisation, mais sans virtualisation.8 / 28

page 8

Page 9 : IntroductionChroot on steroids super chrootLe chroot permet de modifier le chemin du répertoire root racine actuel pour pouvoir lancer une commande avec ce /root.La commande lancée tournera dans ce nouveau /root et n’aura pas connaissance, ni accès au reste du système.Bon moyen de contenir une commande pour faire des tests.Bon moyen de lancer un autre système sur le système existant.9 / 28

page 9

Page 10 : IntroductionChroot on steroids super chrootAvec son propre space de processus. Processus isolés.Avec sa propre interface de réseau. Kernel partagé avec le host.Sans son propre /sbin/init.Création de plusieurs environnements similaires, avec des versions et configurations du logiciel identiques.10 /28

page 10

Page 11 : IntroductionCas d’utilisation des conteneurs1 Conteneur de Système d’exploitation▶Environnement virtuel qui partage le kernel avec le SE du host.▶Environnement isolé dans l’espace d’utilisateur.▶On exécute plusieurs processus et services.▶Pratique pour exécuter différentes distributions en utilisant des images modèles.Source : risingstack.com11 /28

page 11

Page 12 : IntroductionCas d’utilisation des conteneurs12 /282 Conteneur d’Application▶Un seul service ou application par conteneur.▶Microservices : Décomposer une application grande en plusieurs services petits.▶Au lieu de mettre à jour toute une application, on met à jour lesservices concernés.

page 12

Page 13 : DockerPlan1Introduction2Docker3Installation et configuration de Docker413 /28Création et gestion des conteneurs

page 13

Page 14 : DockerC’est quoi Docker?Docker est une plateforme permettant de créer, de déployer et degérer des conteneurs d’applications virtualisées sur un systèmed’exploitation.Avantapplications monolithiquescycle de développement : longun seul environnementpassage à l’échelle : lenteMaintenantservices découplésaméliorations : rapides et itérativesplusieurs environnementspassage à l’échelle : horizontale et rapide14 /28

page 14

Page 15 : DockerC’est quoi Docker?Docker Platform = Docker Engine + Docker HubDocker Engine : Exécute les conteneurs▶Écrit en Go, un langage de programmation compilé et concurrent inspiré de C etPascal qui a été développé par Google em 2009.▶API REST, une interface de programmation d’application API qui permet d’établir une communication entre plusieurs logiciels. REST REpresentational State Transfer est un style d’architecture logicielle définissant un ensemble de contraintes à utiliser pour créer des services web.▶Construction des images.Une image Docker ou image de conteneur est un fichier exécutable autonome utilisé pour créer un conteneur. Cette image contient toutes les bibliothèques, dépendances et fichiers dont le conteneur a besoin pour s’exécuter.▶Partage d’images en utilisant des registres.15 /28

page 15

Page 16 : DockerC’est quoi Docker?Docker Platform = Docker Engine + Docker HubDocker Hub : Facilite la migration système de stockage pour les images de conteneurs▶Registres repos publiques.▶Registres privés.▶Construction automatique du logiciel.16 /28

page 16

Page 17 : DockerC’est quoi Docker?Virtualisation x ContainerisationSource : Docker17 /28

page 17

Page 18 : DockerContributions de DockerAvant DockerPas de format d’échange standardisé les conteneurs n’étaient pas portables. Les conteneurs sont difficiles à utiliser par les développeurs.Dependency hell : "L’enfer des dépendances. / Ça marche dans ma machine." Pas de composants réutilisables, APIs ou des outils.Après DockerFormat de conteneur standardisé.Rend les conteneurs faciles à utiliser par les développeurs.Expédition des images de conteneurs avec toutes leurs dépendances.Accent sur les composants réutilisables, les APIs, un écosystème d’outils standards.18 /28

page 18

Page 19 : DockerDocker pour la gestion du logicielSource : Treeptik19 /28

page 19

Page 20 : Installation et configuration de DockerPlan1Introduction2Docker3Installation et configuration de Docker420 /28Création et gestion des conteneurs

page 20

Page 21 : Installation et configuration de DockerInstallation de DockerPar défaut, Docker est déjà installé sur votre ordinateur portable CY-Tech. Àvérifier avec :dockerversioni lfaudrapeutetrelepré f i x eravec sudosi vous obtenez une réponse sans erreur, il n’y a rien d’autre à faire.Sinon, pour installer Docker sur votre portable Linux ou sur une machine virtuelle, il y a deux alternatives :▶Installation depuis les paquets des distros sudo yum i n s t a l ldocker Red Hat et dé riv és sudoapt geti n s t a l ldocker . io Debianet dé ri v és▶Utiliser le script d’installation de Docker. Disponible pour Ubuntu, Debian, Fedora et Gentoo :21 /28c ur lshttps : / / get . docker .com/sudo sh

page 21

Page 22 : Installation et configuration de DockerConfiguration de DockerLe moteur Docker exécute un client et un serveur. L’utilisateur Docker est root équivalent.Il fournit un accès de niveau racine à l’hôte.Si votre utilisateur n’est pas dans le groupe Docker, vous devez préfixer chaque commande avec sudo; par exemple, sudo docker version.Pour éviter cela, ajoutez votre utilisateur au groupe Docker :▶Ajouter le groupe docker sudogroupadddocker22 /28▶Ajouter votre utilisateur au groupe docker sudo gpasswd a USER docker▶Redémarrer le daemon service docker sudoservicedockerr e s t a r t

page 22

Page 23 : Création et gestion des conteneursPlan1Introduction2Docker3Installation et configuration de Docker423 /28Création et gestion des conteneurs

page 23

Page 24 : Création et gestion des conteneursCréation d’un conteneur dockerrun itubuntu/ bin / bashrun : lance un nouveau conteneur-i -t : demande un terminal en mode interactif dans un pseudo-terminalubuntu : l’image à utiliser pour ce conteneur. Si elle n’est pas disponible sur votre ordinateur, elle sera téléchargée du Docker Hub./bin/bash : exécute bash dans le conteneurdockerrun itubuntu/ bin / bashroot@0bc82356b52d9 : / cat/ etc / issue Ubuntu14.04.2LTSroot@0bc82356b52d9 : / e x i t24 /28

page 24

Page 25 : Création et gestion des conteneursCréation d’un conteneurTapez exit. Votre conteneur est maintenant dans un état stopped. Il existe toujours sur le disque, mais toutes les ressources ont été libérées.▶À partir de la ligne de commande de l’hôte, répertoriez les conteneurs actifs avecdocker ps. Ensuite, exécutez docker ps -a.▶Si vous démarrez un nouveau conteneur avec docker run, nous démarrerons untout nouveau conteneur à partir de l’image ubuntu.25 /28

page 25

Page 26 : Création et gestion des conteneursCréation d’un conteneurPour revenir à notre conteneur arrêté, depuis notre hôte nous devons :1Trouver l’ID du conteneur :docker ps aCONTAINER ID0bc82356b52d9IMAGEubuntu2Démarrer le conteneur dockers t a r t0bc82356b52d9326 /28Attacher le conteneur dockerattach0bc82356b52d9Pour attacher l’entrée, la sortie et l’erreur standard du terminal ou toute combinaison des trois à un conteneur en cours d’exécution à l’aide de l’ID ou dunom du conteneur.

page 26

Page 27 : Création et gestion des conteneursImagesCollection de fichiers, en mode lecture.Images base sur lesquelles on construit les autres images.Images en couches, conceptuellement empilées les unes sur les autres.Chaque couche peut ajouter, modifier et supprimer des fichiers. C’est un différentiel de la couche précédente.Les images peuvent partager des couches pouroptimiser l’utilisation du disque, les temps detransfert, l’utilisation de la mémoire, etc.Conteneur : Ensemble de processus et fichiers modifiés lecture-écriture.27 /28

page 27

Page 28 : Création et gestion des conteneursGestion des imagesPour lister toutes nos images locales images stockées dans notre hôte Docker :dockerimagesREPOSITORYTAGIMAGE IDCREATEDSIZEsameersbn / skype1.0.1 34c06c9bb3da05 months ago411.5MBubuntul a t e s tc73a085dc37810 months ago127.1MBjpetazzo / clockl a t e s t12068 b93616f2yearsago2.433MBPour rechercher des images sur un registre distant nous ne pouvons pas lister toutes les images, nous recherchons par mots-clésdockersearchwordpressNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDwordpressThe WordPressr i c h . . .1826OKbitnami / wordpressBitnamiDockerIma . . .42OK. . .▶Les images officielles sont celles de l’espace de noms racine.▶Les images automated sont construites automatiquement par le Docker Hub avec la recette de construction toujours disponible.Pour supprimer un conteneur ou une image :▶docker rm containerID supprime un conteneur, pas une image.▶docker rmi imageID supprime une image.28 /28

page 28

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Le contenu de cet article est la propriété exclusive de son auteur.