L'indépendance du contenu signifie : le programme peut s'exécuter dans le conteneur, quelle que soit la langue, et peut encapsuler n'importe quelle charge utile et ses dépendances. Dans Docker, quel que soit le contenu spécifique du conteneur, le fonctionnement standard du conteneur peut produire le même effet ; par exemple, le conteneur peut être téléchargé et démarré de la même manière, qu'il s'agisse d'une application PHP ou d'un service de base de données MySQL ; .
L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker20, ordinateur Dell G3.
Qu'est-ce que Docker ?
Docker est un moteur de conteneur d'applications open source, développé sur la base du langage go et conforme à l'accord open source Apache2.0. L'utilisation de Docker permet aux développeurs de regrouper leurs applications et packages de dépendances dans un conteneur portable, puis de les publier sur n'importe quelle machine Linux, qui peut également être virtualisée. Les conteneurs Docker utilisent entièrement le mécanisme sandbox et n'ont aucune interface entre eux, ce qui garantit la sécurité entre les conteneurs.
Docker est né début 2013 et propose actuellement deux versions, Community Edition (CE, Community Edition) et Enterprise Edition (EE, Enterprise Edition). Parmi eux, Docker Community Edition est gratuit et open source, ce qui constitue un choix idéal pour les particuliers et les petites équipes ; Docker Enterprise Edition est payant et est spécialement fourni aux entreprises et aux grandes équipes informatiques pour les applications commerciales ayant des exigences plus strictes.
Principales fonctionnalités de Docker
Content Agnostic
Les programmes peuvent s'exécuter dans des conteneurs sans distinguer les langues et peuvent encapsuler n'importe quelle charge utile et ses dépendances.
Quel que soit le contenu spécifique du conteneur, l'opération standard du conteneur peut produire le même effet après l'exécution. Par exemple, les conteneurs peuvent être téléchargés et démarrés de la même manière, qu'il s'agisse d'une application PHP ou d'un service de base de données MySQL.
Hardware Agnostic
Utilisez les primitives du système d'exploitation (par exemple : LXC) pour fonctionner sur presque toutes les plateformes - machine virtuelle, bare metal, OpenStack, IaaS public, etc., sans modifier le contenu
Isolation et interaction
Isolation des ressources, du réseau et du contenu, évitez l'enfer des dépendances
Automatisation
Il existe des opérations standards pour exécuter, démarrer, arrêter, soumettre, rechercher, etc., très adaptées aux devops : CI, CD, expansion automatique, Hybride Cloud
Efficace
Léger, pratiquement sans biais ni pénalités de démarrage, permet des mouvements et des opérations rapides
Séparation des tâches
Les développeurs s'inquiètent du code, les opérations s'inquiètent de l'infrastructure
Plus de fonctionnalités techniques :
Isolement du système de fichiers : chaque conteneur de processus s'exécute dans un système de fichiers racine complètement indépendant ;
Isolement des ressources : les ressources système, telles que le processeur, la mémoire, etc., sont allouées à différents emplacements à l'aide de groupes de contrôle dans le conteneur de processus.
Isolation du réseau : chaque conteneur de processus possède sa propre interface virtuelle et sa propre adresse IP et s'exécute dans son propre espace réseau
Copie sur écriture : utilisation et écriture Créez le système de fichiers racine en copiant, de sorte que la vitesse de déploiement est extrêmement rapide et la mémoire et l'espace disque sont très petits
Log : Docker collectera et enregistrera le flux standard (stdout/stderr/stdin) de chaque conteneur de processus pour une récupération en temps réel ou une récupération par lots ;
Gestion des modifications : les modifications apportées au système de fichiers du conteneur peuvent être soumises à une nouvelle image (image) et réutilisées pour créer davantage de conteneurs. Pas besoin d'utiliser des modèles ou une configuration manuelle ;
Shell interactif : Docker peut attribuer un terminal virtuel et l'associer à l'entrée standard de n'importe quel conteneur, comme l'exécution d'un shell interactif unique.
Docker est généralement utilisé dans les scénarios suivants
Emballage et publication automatisés d'applications Web
Tests automatisés et intégration et publication continues
Déploiement et ajustement de bases de données ou d'autres applications back-end en service ; environnements orientés ;
Compilez à partir de zéro ou étendez la plateforme OpenShift ou Cloud Foundry existante pour créer votre propre environnement PaaS.
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!