La technologie des conteneurs Docker fait référence au fait que Docker est un conteneur exécuté par un programme écrit en langage GO, qui implémente une isolation au niveau de l'application. Docker est conçu pour permettre aux développeurs et aux administrateurs système de publier et d'exécuter une plate-forme distribuée ouverte pour les applications ; .
L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.
La technologie des conteneurs Docker fait référence à Docker comme à un « conteneur » (conteneurs Linux, LXC) exécuté par un programme écrit en langage GO Docker implémente une isolation au niveau de l'application, ce qui modifie nos bases de développement et de développement. l'unité d'exploitation est convertie de l'exploitation directe de l'hôte virtuel (VM) au « conteneur » où le programme d'exploitation s'exécute.
Docker est une plateforme ouverte conçue pour permettre aux développeurs et aux administrateurs système de publier et d'exécuter des applications distribuées. Composé de deux parties : Docker Engine : un environnement d'exécution portable et léger et un gestionnaire de packages.
(Remarque* Système d'exploitation unique ou thread unique) Docker Hub : un service cloud créé pour créer des flux de travail automatisés et partager des applications. (Remarque* Gestion des images/paquets cloud vs gestion des packages npm, est-ce particulièrement similaire à npm ?)
Du 20 mars 2013, la première version de Docker a été officiellement publiée jusqu'en juin 2014, lorsque Docker 1.0 a été officiellement publié pour Experience. 15 mois. Bien que son histoire de développement soit très courte, Docker devient de plus en plus populaire. En fait, la technologie Container n'est pas une innovation de Docker. Les fournisseurs de services Cloud tels que HeroKu et NodeJitsu ont adopté une technologie de virtualisation légère similaire. Cependant, Docker a été le premier à ouvrir cette technologie Container à grande échelle et a été largement acceptée par la communauté. .
Expansion de la technologie des conteneurs
Dans le monde informatique, les conteneurs ont une histoire longue et légendaire. Les conteneurs sont différents de la virtualisation de l'hyperviseur HV. La virtualisation de l'hyperviseur utilise une couche intermédiaire pour virtualiser une ou plusieurs machines indépendantes sur le matériel physique, tandis que les conteneurs s'exécutent directement sur l'espace utilisateur du système d'exploitation. Par conséquent, la virtualisation des conteneurs est également appelée « virtualisation au niveau du système d'exploitation ». La technologie des conteneurs permet à plusieurs espaces utilisateur indépendants de s'exécuter sur le même hôte.
En raison de "l'invité" dans le système d'exploitation, le conteneur ne peut exécuter que le même système d'exploitation ou un système similaire à celui de l'hôte sous-jacent, ce qui ne semble pas très flexible. Par exemple : vous pouvez exécuter Redhat Enterprise Linux dans un service Ubuntu, mais vous ne pouvez pas exécuter Microsoft Windows sur un serveur Ubuntu.
Les conteneurs sont considérés comme non sécurisés par rapport à la virtualisation d'un hyperviseur complètement isolé. Ceux qui s'opposent à ce point de vue estiment que le fait que les conteneurs virtuels virtualisent un système d'exploitation complet augmente sans aucun doute la portée des attaques et que le risque potentiel d'exposition de la couche hyperviseur doit également être pris en compte.
Malgré de nombreuses limitations, les conteneurs sont largement déployés dans diverses applications. La technologie des conteneurs est très populaire dans les déploiements de services multi-locataires à très grande échelle, les bacs à sable légers et les environnements d'isolation avec des exigences de sécurité moins strictes. L'un des exemples les plus courants est une « prison chroot », qui crée un environnement de répertoire isolé pour exécuter des processus. Si le processus exécuté dans la prison d'isolement des autorisations est violé par un intrus, l'intrus se retrouvera "en prison", piégé dans le répertoire créé par le conteneur en raison d'autorisations insuffisantes, et incapable d'endommager davantage la machine hôte.
La dernière technologie de conteneurs introduit OpenVZ, Solaris Zones et Linux Containers (LXC). Avec ces nouvelles technologies, les conteneurs ne sont plus qu’un simple environnement d’exploitation. Au sein de sa propre classe d’autorisations, un conteneur ressemble davantage à un hôte complet. Pour Docker, il bénéficie des fonctionnalités Linux modernes, telles que la technologie de groupe de contrôle et d'espace de noms. L'isolation entre le conteneur et l'hôte est plus complète. Le conteneur dispose d'un réseau et d'une pile de stockage indépendants, et dispose également de ses propres capacités de gestion des ressources permettant de multiples. conteneurs dans un même hôte pour coexister de manière amicale.
Les conteneurs sont considérés comme une technologie Lean car les conteneurs nécessitent des frais généraux limités. Par rapport à la virtualisation et à la paravirtualisation traditionnelles, les conteneurs ne nécessitent pas de couche d'émulation (couche d'émulation) ni de couche de gestion (couche hyperviseur), mais utilisent l'interface d'appel système du système d'exploitation. Cela réduit la surcharge requise pour exécuter un seul conteneur et permet d'exécuter davantage de conteneurs sur l'hôte.
Malgré leur glorieuse histoire, les conteneurs sont encore peu reconnus. Une raison très importante est la complexité de la technologie des conteneurs : les conteneurs eux-mêmes sont complexes, difficiles à installer, et difficiles à gérer et à automatiser. Et Docker est né pour changer tout cela.
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!