Docker expliquer la technologie sous-jacente

Remarque: Le document plus, lire attentivement, ou d'une collection

1 & Docker récipient et la machine virtuelle

Conteneur (container) est une technologie de virtualisation légère, il ne nécessite pas de matériel analogique pour créer des machines virtuelles. Dans le système Linux qui, utilisé pour cgroups noyau Linux, espace de noms (ipc, réseau, utilisateur, pid, montage), la capacité d'isoler l'environnement d'exploitation et d'autres limitations de ressources dans l'art, que nous appelons le récipient. La technologie conteneur a été présent. Solaris Zones et par exemple le conteneur de BSD est non-système d'exploitation Linux, Linux est utilisé dans l'art du conteneur, car il y a beaucoup de Linux-VServer, OpenVZ et FreeVPS. Bien que ces technologies ont mûri, mais ces solutions ne sont pas intégrées pour soutenir leurs conteneurs dans le noyau Linux grand public. Dans l'ensemble, Conteneur ne correspond pas à Docker, plus d'un conteneur de machine virtuelle .

projet LXC se compose d'un patch du noyau Linux et un certain nombre d'outils de composition de l'espace utilisateur, qui fournit un ensemble d'outils simplifiée pour maintenir conteneur pour l'environnement environnement virtuel isolé, les contraintes de ressources et de contrôle d'accès. LXC un peu similaire à chroot, mais il offre plus d'isolement que chroot.

Docker objectif initial est de faire un LXC spécial système open source, et enfin lentement évolué dans son propre ensemble de l'environnement d'exécution de conteneurs. Docker basé sur le noyau Linux cgroups, la technologie Namespace, UnionFileSystem emballé dans un format conteneur auto-défini pour fournir un ensemble d'environnements d'exécution virtuels. Il ne fait aucun doute que ces dernières années, est devenu synonyme de technologie de conteneurs Docker, comme son site officiel décrit la Docker est la première plateforme de conteneurisation logiciel mondial . Cet article explique brièvement les concepts de base Docker, puis analyse la technologie sous-jacente à Docker utilisé. La méthode d'installation sur Debian Docker voir docker-ce-installation en debian.

2 base Docker

2.1 Docker moteur

Docker fournit un paquet et exécuter l'environnement d'isolation des applications, des conteneurs appelés, les caractéristiques d'isolation et de sécurité Docker vous permettent d'exécuter plusieurs conteneurs dans un hôte, mais il est pas aussi lourd que les machines virtuelles, les conteneurs sont basés sur des lieux noyau de l'hôte en cours d'exécution, il est léger, si vous utilisez ubuntu, debian ou d'autres systèmes Linux, utilisez le noyau sont le noyau hôte. Internet Docker et fournit des outils pour gérer le conteneur, et est un moteur Docker offre l'utilisation de la plupart des fonctions des composants de la structure CS, comme le montre l'architecture figure, Docker moteur responsable de la gestion des images, des conteneurs et d'autres réseaux et des volumes de données.

2.2 Architecture Docker

Docker Comme le montre plus en détail l'architecture, en utilisant l'architecture CS, transmet des clients menu fixe par commande API reposant pour le processus démon docker, processus démon docker exécution compilation d'images, ainsi que de commencer et de la distribution de butée du récipient, le volume de la gestion des données, peut être associé à une pluralité de clients docker communication démon.

  • Docker Daemon: processus d'arrière-plan Docker pour la gestion de la mise en miroir, des conteneurs et des volumes de données.

  • Docker Client: utilisé pour interagir avec Docker Daemon.

  • Docker Registre: Docker pour stocker des images, même GitHub, registre public a le Hub et Docker Docker Cloud.

  • Images: Mirroring est utilisé pour lire un seul type de modèle pour créer un conteneur. En règle générale en miroir, l'installation de logiciels supplémentaires sur cette base, sur la base d'une image de base. Par exemple, l'image peut être basée sur debian nginx nginx puis installer et ajouter de configuration, vous pouvez tirer une image existante du Hub Docker ou par lui-même Dockerfile pour compiler un miroir.

  • Conteneurs: le réservoir est une course d'échantillon du miroir, nous pouvons créer, supprimer ou démarrer et conteneur d'arrêt par le client Docker ou API. Par défaut, le conteneur avec l'hôte et d'autres conteneurs ont été isolés, bien sûr, le mode réseau ou le conteneur de stockage isolé vous pouvez contrôler.

  • Services: service concept essaim docker est introduit, le nombre de conteneurs peuvent être utilisés pour traverser plusieurs services d'équilibrage de charge de support hôte a des capacités de routage.

2.3 Docker technologie sous-jacente Présentation

En suivant une commande d'exécution contenant debian, fixez l'appareil à une ligne de commande et exécuter / bin / bash.

docker run -i -t debian / bin / bash

Derrière cette commande, vous avez fait quoi?

1. Si l'unité n'est pas miroir debian, il va tirer la dernière version d'un miroir Debian, lancez un effet debian pull docker comme à l'intérieur vous configurez registre avec vous.

2. Créez le conteneur. Comme la course docker créer.

3. Le conteneur est affecté à un système de fichiers en lecture-écriture comme conteneur couche finale, le conteneur peut créer et modifier des fichiers dans son système de fichiers.

4.Docker a créé une interface réseau pour le conteneur, le conteneur pour attribuer une adresse IP. Par défaut, le conteneur peut être connecté à un réseau externe via le réseau par défaut.

conteneur 5.Docker et commencer la mise en uvre / bin / bash. Parce que le -i -t paramètre indique le début, le conteneur est exécuté en mode interactif et attacher au terminal local, nous pouvons entrer dans les commandes et voir la sortie au niveau du terminal.

6. Exécutez la sortie pour quitter le conteneur, mais le conteneur n'est pas supprimé à ce moment, nous pouvons l'exécuter à nouveau ou le supprimer.

Vous trouverez, la version du noyau est le conteneur avec le même hôte, le nom d'hôte est différent des conteneurs sont indépendants, faire l'ID nom d'hôte par défaut du conteneur. Nous courons ps -ef peut être trouvé dans le processus de récipient est isolé du récipient à l'intérieur regard sur le processus pas l'hôte, mais il est un processus qu'ils ont PID 1. De plus, le réseau est isolé, il est indépendant de la propriété intellectuelle de l'hôte. Le système de fichiers est isolé du récipient avec ses propres systèmes et annuaire de logiciels, fichiers dans la modification du conteneur n'affecte pas le fichier hôte le répertoire correspondant.

root @ étirement: / home / errante # uname -r4.9.0-6-amd64 root @ étirement: / home / errante run # docker -it --name démonstration alpine / bin / ash / # Uname -r ## dans le conteneur 4.9.0-6-amd64 / # Ps -ef PID USER TIME COMMANDE 1 racine 00h00 / bin / cendres 7 racine 0:00 ps -ef / # Ip une 1: lo: < BOUCLE, UP, LOWER_UP >  mtu 65536 qdisc noqueue UNKNOWN qlen 1 d'état lien / rebouclage 00: 00: 00: 00: 00: 00 BRD 00: 00: 00: 00: 00: 00 iNet 127.0.0.1/8 champ hôte lo valid_lft pour toujours preferred_lft forever6: eth0 @ IF7: < BROADCAST, Multicast, UP, LOWER_UP, M-DOWN >  1500 mtu qdisc état noqueue UP link / éther 02: 42: ac: 11: 00: 02 brd FF: FF: FF: FF: FF: FF iNet 172.17.0.2/16 BRD 172.17.255.255 portée mondiale eth0 valid_lft toujours preferred_lft pour toujours

Ces mécanismes ne sont pas isolés Docker technologie nouvellement développée, mais comptent sur le noyau Linux et d'autres technologies existantes, y compris:

  • Linux espaces de noms (introduites après Linux2.6.24): espace de noms pour le processus (PID), le réseau (NET), le point de montage (MNT), UTS, IPC et d'autres isolement.

  • Linux groupes de contrôle (__gVirt_NP_NNS_NNPS

Inverse Dieu « tuners » Venez et reflètent ce point aujourd'hui, les yeux de confirmation « Blind Pianiste »
Précédent
Afin de donner aux filles dix appel de jeu fou, je faisais attention à jouer pour tuer les cellules du cerveau de puzzles de mots croisés!
Prochain
L'histoire de selfie meilleur téléphone riz rouge - riz rouge S2 libéré: 999 yuans
Mot histoire d'amour peut être si percez film coeur « comme un coeur ombre » chanson de promotion compromise la section des commentaires!
Pa a dû apprendre trois citations poésie! Utilisateur: ne lisent même pas des poèmes ne peut pas lire!
Certaines petites équipes d'opérations automatisées et les pratiques d'entretien
les meilleures pratiques du scénario de l'exploitation forestière ElasticSearch
L'Orient est rouge monde « StarCraft », après les insectes transsexuel, a battu la Corée du Sud a remporté la médaille d'or
L'Université de Pékin sera le mouvement global de la sécurité des hommes Nouveau? Principal Lin Jianhua a répondu
« Nuages de pluie de fleurs du vent font, » avec ses débuts, « Happy Camp » tout le monde Wits Fun « Puzzle Night »
Le Presto NIKE original peut aussi être un long chemin? ! Cependant, le schéma ci-dessus qu'il ya de telles histoires ...
cigarette électronique comment choisir? Mieux vaut jeter un oeil à cette expérience de la cigarette électronique EVOVE
Pratique pour les journaux de conteneurs
étoiles tombent! Sa peine est portée à l'esprit que la peine 8!