Dans Docker, l'isolation des processus signifie exécuter chaque conteneur dans son propre environnement de processus ; Docker utilise principalement la technologie du noyau Linux Namespace pour réaliser l'isolation. Le mécanisme « Linux Namespaces » fournit une solution d'isolation des ressources.
L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.
Isolement des processus : chaque conteneur s'exécute dans son propre environnement de processus
Principe d'isolement
Docker utilise principalement la technologie du noyau Linux Namespace pour réaliser l'isolation, le mécanisme des espaces de noms Linux fournit une isolation des ressources solution. Les ressources système telles que PID, IPC et Réseau ne sont plus globales, mais appartiennent à un espace de noms spécifique.
Les ressources sous chaque espace de noms sont transparentes et invisibles pour les ressources sous d'autres espaces de noms. Par conséquent, au niveau du système d’exploitation, il y aura plusieurs processus avec le même pid. Il peut y avoir deux processus portant les numéros de processus 0, 1 et 2 dans le système en même temps, puisqu'ils appartiennent à des espaces de noms différents, il n'y a aucun conflit entre eux. Au niveau de l'utilisateur, seules les ressources appartenant au propre espace de noms de l'utilisateur peuvent être vues. Par exemple, l'utilisation de la commande ps ne peut répertorier que les processus sous le propre espace de noms de l'utilisateur. De cette façon, chaque espace de noms ressemble à un système Linux distinct.
Démarrer un conteneur
docker run -it -p 8080:8080 --name pai-sn pai-sn:snapshot /bin/bash
-it démarrage interactif, -p mappage de port, –name Le nom du conteneur est suivi du nom de l'image, ouvrez le shell et entrez dans le conteneur après le démarrage
Afficher le process
ps -ef
Utilisez la commande top pour afficher les ressources du processus
Affichez le processus du conteneur en cours d'exécution sur la machine hôte ps -ef|grep pai-sn
À partir de là, nous pouvons savoir que la commande docker run ne démarre qu'un seul processus. Le pid est 4677. Quant au programme conteneur lui-même, il est isolé et seuls ses propres processus internes sont visibles à l'intérieur du conteneur. Docker est implémenté à l'aide de la technologie Namespace du noyau Linux.
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!