Docker partage-t-il le noyau avec l'hôte ?
Docker et l'hôte partagent le noyau ; le conteneur Docker est essentiellement un processus sur l'hôte. Docker implémente l'isolation des ressources via l'espace de noms. Le noyau partagé entre le docker et l'hôte implémente essentiellement l'isolation des processus via l'espace de noms et le groupe de contrôle du noyau.
L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.
Docker et l'hôte partagent le noyau ?
Docker et l'hôte partagent le noyau
L'essence est l'isolation des processus obtenue via l'espace de noms et le groupe de contrôle du noyau
Quand on parle de Docker, nous parlons souvent de l'implémentation de Docker . De nombreux développeurs savent que les conteneurs Docker sont essentiellement des processus sur la machine hôte. Docker implémente l'isolation des ressources via l'espace de noms. Les restrictions de ressources sont implémentées via des groupes de contrôle et des opérations de fichiers efficaces sont implémentées via le mécanisme de copie sur écriture. Mais en approfondissant les détails techniques tels que les espaces de noms et les groupes de contrôle, la plupart des développeurs se sentiront perdus. Donc ici, je vais d'abord vous présenter le noyau Linux et comprendre les détails techniques de l'espace de noms et des groupes de contrôle.
Isolement des ressources de l'espace de noms
Si vous souhaitez implémenter un conteneur d'isolation des ressources, par où devriez-vous commencer ? La première réaction de certaines personnes peut être la commande chroot. Le sentiment le plus intuitif donné aux utilisateurs par cette commande est que le point de montage du répertoire racine / est changé après utilisation, c'est-à-dire que le système de fichiers est isolé. Ensuite, pour communiquer et se localiser dans un environnement distribué, le conteneur doit disposer d'une adresse IP, d'un port, d'un routage, etc. indépendants, l'isolation du réseau vient donc naturellement à l'esprit. Dans le même temps, le conteneur a également besoin d'un nom d'hôte indépendant pour s'identifier sur le réseau. Quand je pense au réseau, je pense naturellement à la communication, et je pense aussi à la nécessité d'isoler la communication inter-processus. Les développeurs ont peut-être également réfléchi à la question des autorisations. L'isolement des utilisateurs et des groupes d'utilisateurs réalise l'isolement des autorisations des utilisateurs. Enfin, l'application exécutée dans le conteneur doit avoir son propre (PID) et doit naturellement être isolée du PID de l'hôte.
Ainsi, les six isolations requises pour un conteneur sont pratiquement terminées. Le noyau Linux fournit ces six appels système d'isolation d'espace de noms, comme indiqué dans le tableau 1-1.
En fait, l'un des principaux objectifs de l'espace de noms implémentant le noyau Linux est d'implémenter des services de virtualisation (conteneur) légers. Les processus dans le même espace de noms peuvent détecter les changements les uns des autres et ne savent rien des processus externes. Cela peut donner au processus dans le conteneur l'illusion qu'il se trouve dans un environnement système indépendant, obtenant ainsi indépendance et isolement.
Apprentissage recommandé : "Tutoriel vidéo Docker"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.
