Table des matières
Compose
Maison Opération et maintenance Docker Que signifient les Trois Mousquetaires dans Docker ?

Que signifient les Trois Mousquetaires dans Docker ?

Nov 25, 2021 pm 05:42 PM
compose docker swarm

Les trois épéistes de Docker font référence à essaimer, composer et machiner. Compose est un outil utilisé pour définir et exécuter un ou plusieurs conteneurs et applications ; Machine est un outil en ligne de commande qui simplifie l'installation de Docker ; Swarm est un outil fourni par la communauté qui prend en charge nativement les clusters Docker.

Que signifient les Trois Mousquetaires dans Docker ?

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.

Les trois épéistes dans des conteneurs dockers essaiment, composent et usinent.

Compose

1. Présentation

Dans un environnement de production réel, une application est souvent composée de nombreux services, et la meilleure pratique de Docker est qu'un conteneur n'exécute qu'un seul processus, il est donc nécessaire d'exécuter plusieurs microservices. Pour exécuter plusieurs conteneurs. Plusieurs conteneurs travaillant ensemble nécessitent un outil efficace pour les gérer et définir les relations entre ces conteneurs. composer est né.

compose est un outil utilisé pour définir et exécuter un ou plusieurs conteneurs (généralement plusieurs) à exécuter et à appliquer. L'utilisation de compose peut simplifier la construction d'images de conteneurs et l'exécution de conteneurs.

compose utilise des fichiers YAML pour définir les relations entre plusieurs conteneurs. Un docker-compose up peut exécuter l'application complète. Essentiellement, compose analyse le fichier YAML dans les paramètres de la commande docker, puis appelle l'interface de ligne de commande docker correspondante pour gérer l'application de manière conteneurisée. Il démarre les conteneurs de manière séquentielle en résolvant les dépendances entre les conteneurs. Les dépendances entre les conteneurs sont spécifiées par la balise links dans le fichier YAML. docker-compose up 就可以把完整的应用跑起来。 本质上, compose 把 YAML  文件解析成 docker 命令的参数,然后调用相应的 docker 命令行接口,从而将应用以容器化的方式管理起来。它通过解析容器间的依赖关系顺序地启动容器。而容器间的依赖关系由 YAML 文件中的 links 标记指定。

2. compose 配置简介

Compose 是对 docker 命令的封装,默认使用 docker-compose.yml 文件指定各个命令中的参数。
一个简单的例子:

web:
  build: .
  ports:
  - 8080:80
  volumes:
  - . : /code
  links:
  - redis
redis:
  image: redis

这个 YAML 文件定义了两个服务: Web 和 Redis, 服务的名称由用户自定义。提供 Web 服务的镜像从 Dockerfile 构建; Web 服务监听80端口,并和主机的8080端口建立映射;主机的当前目录挂载到容器里的 /code 目录上;Web 服务器通过链接 Redis 容器来访问后台 Redis 数据库。而 Redis 数据库服务是通过运行 Redis 镜像来提供的。

在 docker-compose.yml 文件中,每个定义的服务都至少包含 buildimage 其中之一,其他命令都是可选的。 build 命令指定了包含 Dockerfile 的目录,可以是相对目录也可以是绝对目录。

docker-compose.yml 文件中的 "ports" 标记对应于 docker run 的 "-p"选项; "volumes"标记对应 docker run 的 "-v" 选项; "links" 标记对应 docker run 的 "--links"选项。

此外,image 用于指定服务的镜像。

最后,在 docker-compose.yml 所在的目录下执行 docker-compose up

2. Introduction à la configuration de composition

Compose est une encapsulation de la commande docker

Par défaut, le fichier docker-compose.yml est utilisé pour spécifier les paramètres de chaque commande.

Un exemple simple :

rrreee

Ce fichier YAML définit deux services : Web et Redis. Le nom du service est personnalisé par l'utilisateur. L'image qui fournit le service Web est construite à partir du Dockerfile ; le service Web écoute le port 80 et le mappe au port 8080 de l'hôte ; le répertoire actuel de l'hôte est monté dans le répertoire /code dans le conteneur ; la base de données backend Redis en créant un lien vers le conteneur Redis. Le service de base de données Redis est fourni en exécutant l'image Redis.

Dans le fichier docker-compose.yml, chaque service défini contient au moins un élément parmi build ou image, et les autres commandes sont facultatives. La commande build spécifie le répertoire contenant le Dockerfile, qui peut être un répertoire relatif ou un répertoire absolu.

La balise "ports" dans le fichier docker-compose.yml correspond à l'option "-p" de docker run ; la balise "volumes" correspond à l'option "-v" de docker run ; à l'option "--" des liens d'exécution du docker. Que signifient les Trois Mousquetaires dans Docker ?

De plus, image est utilisé pour spécifier l'image du service.

Enfin, exécutez la commande docker-compose up dans le répertoire où se trouve docker-compose.yml, et les services Web et Redis s'exécuteront avec succès. Machine

1. Présentation


Docker Machine est un outil de ligne de commande qui simplifie l'installation de Docker. Docker peut être installé sur la plate-forme correspondante via une simple ligne de commande, offrant aux utilisateurs des fonctions flexibles afin qu'ils puissent exécuter des conteneurs Docker sur n'importe quel hôte. En termes simples, une Docker Machine est une combinaison d'un hôte Docker et d'un client Docker configuré.

🎜Techniquement parlant, Machine est un framework et est relativement ouvert. Pour toute plate-forme fournissant des services de machine virtuelle, tant qu'un pilote pour la plate-forme est développé dans ce cadre, Docker Machine peut être intégré à la plate-forme et effectuer des actions telles que la création, la suppression, le démarrage et l'arrêt sur la plate-forme. 🎜🎜L'architecture de Docker Machine est illustrée dans la figure🎜🎜🎜🎜🎜🎜🎜2 Concepts et processus de base de Machine🎜🎜🎜🎜Docker Machine créera d'abord une machine virtuelle et créera un hôte Docker dessus, puis utilisera. le client Docker Communiquez avec l'hôte Docker pour créer une image sur l'hôte Docker et démarrer le conteneur. 🎜🎜Lorsque vous utilisez Docker Machine pour créer une machine virtuelle, vous devez développer le pilote correspondant Actuellement, les pilotes qui prennent en charge cette machine incluent le pilote VirtualBox, le pilote VMware et le pilote Hyper-V sous Windows. De plus, Machine prend également en charge la création d'hôtes cloud. Tant qu'un pilote conforme aux spécifications du framework est développé, Docker Machine peut prendre en charge la plate-forme correspondante. 🎜🎜L'adresse IP de l'hôte Docker créé par Machine est l'adresse IP de la machine virtuelle créée. 🎜Utilisez Docker Machine et le pilote VirtualBox pour créer une machine virtuelle locale et créer un hôte Docker. Le processus en cours est le suivant : 🎜
  • Exécutez la commande docker-machine create --driver virtualbox dev. Cette commande crée d'abord un certificat CA pour la communication entre le client Docker et l'hôte Docker. Ensuite, créez une machine virtuelle VirtualBox, configurez les paramètres TLS pour la communication et configurez le réseau, et enfin déployez l'environnement d'exploitation Docker, c'est-à-dire l'hôte Docker. docker-machine create --driver virtualbox dev命令。此命令首先创建用于 Docker client 和 Docker host 通信用的 CA 证书。 其次创建 VirtualBox 虚拟机, 并配置用于通信的 TLS 参数及配置网络, 最后部署 Docker 的运行环境 即 Docker host。

  • 在 Docker client 里运行 eval "$(docker-machine env dev)"

  • Exécutez la commande eval "$(docker-machine env dev)" dans le client Docker pour configurer les variables d'environnement utilisées pour la communication de l'hôte Docker.

Utilisez les commandes liées au docker pour créer ou démarrer le conteneur correspondant.

Swarm

1. Présentation


Swarm est un outil fourni par la communauté Docker qui prend en charge nativement les clusters Docker. Il peut convertir un système composé de plusieurs hôtes Docker en un seul hôte Docker virtuel. Swarm fournit deux API au monde extérieur. L'une est l'API Docker standard, telle que Dokku, Compose, Krane, Flynn, Deis, Jenkins, etc. ; l'autre est l'API de gestion de cluster de Swarm, qui est utilisée pour la gestion des clusters.

L'outil Swarm lui-même n'est pas très mature et n'est pas recommandé pour une utilisation dans des environnements de production.

Et Kubernetes open source de Google est actuellement l'outil d'orchestration et de déploiement le plus populaire dans l'écosystème des conteneurs.
L'architecture de Kubernetes est basée sur un serveur Maître avec plusieurs nœuds Minion. Je ne suis pas encore entré en contact avec les K8, je le résumerai ici après en avoir appris davantage.

Schéma fonctionnel de l'architecture K8sQue signifient les Trois Mousquetaires dans Docker ?

  • Explication des composants :
  • Maître : serveur maître, exécutant le processus de gestion de Kebernetes, y compris les services API, les contrôleurs et planificateurs de sauvegarde, etc.
  • Minion : l'hôte du service Kubelet et du moteur Docker. Minion accepte les instructions du maître
  • Kubelet : gestionnaire de niveau nœud Kubernetes, fonctionnant sur Minion
  • Pod : une collection de plusieurs conteneurs, et ces conteneurs s'exécutent sur les mêmes Minions sur. . Pod est la plus petite unité de gestion des K8s
  • Replication Controller : gère le cycle de vie du Pod
  • Service : définit les services et les ports qui permettent d'exposer le conteneur, ainsi que les agents externes pour la communication et l'interaction

Kubecfg : commande interface en ligne, interagit avec le Maître et demande le déploiement et la gestion de l'application métier

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment définir des variables d'environnement dans l'environnement PHP Description de l'ajout de variables d'environnement de course PHP Comment définir des variables d'environnement dans l'environnement PHP Description de l'ajout de variables d'environnement de course PHP Jul 25, 2025 pm 08:33 PM

Il existe trois façons principales de définir des variables d'environnement dans PHP: 1. Configuration globale via Php.ini; 2. Passé via un serveur Web (tel que setenv d'Apache ou Fastcgi_param de Nginx); 3. Utilisez la fonction PUTENV () dans les scripts PHP. Parmi eux, PHP.ini convient aux configurations globales et modifiées, la configuration du serveur Web convient aux scénarios qui doivent être isolés et PUTENV () convient aux variables temporaires. Les stratégies de persistance incluent des fichiers de configuration (tels que PHP.ini ou la configuration du serveur Web), les fichiers .env sont chargés de bibliothèque Dotenv et l'injection dynamique de variables dans les processus CI / CD. Les informations sensibles à la gestion de la sécurité doivent être évitées à code dur et il est recommandé de l'utiliser.

Création d'environnements Docker prêts pour la production pour PHP Création d'environnements Docker prêts pour la production pour PHP Jul 27, 2025 am 04:32 AM

L'utilisation de l'image de base PHP correcte et la configuration d'un environnement Docker sécurisé et optimisé sont la clé pour obtenir la production prête. 1. Sélectionnez PHP: 8.3-FPM-Alpine comme image de base pour réduire la surface d'attaque et améliorer les performances; 2. Désactiver les fonctions dangereuses via PHP.ini personnalisé, désactiver l'affichage des erreurs et activer Opcache et Jit pour améliorer la sécurité et les performances; 3. Utilisez Nginx comme proxy inverse pour restreindre l'accès aux fichiers sensibles et transférer correctement les demandes PHP à PHP-FPM; 4. Utilisez des images d'optimisation en plusieurs étapes pour supprimer les dépendances de développement et configurez les utilisateurs non racinaires pour exécuter des conteneurs; 5. Supervisord facultatif pour gérer plusieurs processus tels que Cron; 6. Vérifiez qu'aucune fuite d'informations sensibles avant le déploiement

Comment faire du support de conteneur PHP Construction automatique? Méthode de configuration CI intégrée en continu de l'environnement PHP Comment faire du support de conteneur PHP Construction automatique? Méthode de configuration CI intégrée en continu de l'environnement PHP Jul 25, 2025 pm 08:54 PM

Pour permettre aux conteneurs PHP de prendre en charge la construction automatique, le noyau réside dans la configuration du processus d'intégration continue (CI). 1. Utilisez Dockerfile pour définir l'environnement PHP, y compris l'image de base, l'installation d'extension, la gestion de la dépendance et les paramètres d'autorisation; 2. Configurez des outils CI / CD tels que GitLabci et définissez les étapes de construction, de test et de déploiement via le fichier .gitlab-ci.yml pour réaliser une construction, un test et un déploiement automatique; 3. Intégrer des cadres de test tels que PHPUnit pour s'assurer que les tests sont automatiquement exécutés après les modifications du code; 4. Utiliser des stratégies de déploiement automatisées telles que Kubernetes pour définir la configuration de déploiement via le fichier de déploiement.yaml; 5. Optimiser Dockerfile et adopter une construction en plusieurs étapes

Comment construire un environnement de conteneur de tâches PHP indépendant. Comment configurer le conteneur pour exécuter des scripts chronométrés PHP Comment construire un environnement de conteneur de tâches PHP indépendant. Comment configurer le conteneur pour exécuter des scripts chronométrés PHP Jul 25, 2025 pm 07:27 PM

La construction d'un environnement de conteneur de tâches PHP indépendant peut être implémentée via Docker. Les étapes spécifiques sont les suivantes: 1. Installez Docker et DockerCose comme base; 2. Créez un répertoire indépendant pour stocker les fichiers Dockerfile et Crontab; 3. Écrivez Dockerfile pour définir l'environnement PHPCLI et installer Cron et les extensions nécessaires; 4. Écrivez un fichier crontab pour définir les tâches de synchronisation; 5. Écrivez un répertoire de script Docker-Compose.yml et configurer les variables d'environnement; 6. Démarrez le conteneur et vérifiez le journal. Par rapport à l'exécution de tâches de synchronisation dans des conteneurs Web, les conteneurs indépendants présentent les avantages de l'isolement des ressources, de l'environnement pur, de la forte stabilité et de l'expansion facile. Pour assurer la journalisation et la capture d'erreur

Comment utiliser Kubernetes pour maintenir l'environnement PHP cohérent de production et de normes de configuration de conteneur local Comment utiliser Kubernetes pour maintenir l'environnement PHP cohérent de production et de normes de configuration de conteneur local Jul 25, 2025 pm 06:21 PM

Pour résoudre le problème de l'incohérence entre l'environnement PHP et la production, le noyau consiste à utiliser les capacités de conteneurisation et d'orchestration de Kubernetes pour atteindre la cohérence environnementale. Les étapes spécifiques sont les suivantes: 1. Créez une image Docker unifiée, y compris toutes les versions PHP, extensions, dépendances et configurations de serveurs Web pour s'assurer que la même image est utilisée dans le développement et la production; 2. Utilisez la configmap de Kubernetes et le secret pour gérer les configurations non sensibles et sensibles, et obtenez une commutation flexible de différentes configurations d'environnement via des supports de volume ou une injection variable d'environnement; 3. Assurer la cohérence du comportement de l'application via des fichiers unifiés de définition de déploiement de Kubernetes (tels que le déploiement et le service) et inclure dans le contrôle de version; 4

Comment fonctionne Docker pour Windows? Comment fonctionne Docker pour Windows? Aug 29, 2025 am 09:34 AM

Dockerforwindowsusesalinuxvmorwsl2toruncontainers a dit en passant

Comment commencer avec Docker Comment commencer avec Docker Aug 16, 2025 pm 01:46 PM

DockerRisaplatFormForpackaging, Shipping, andrunningapplicationsInlightweight, isoléContainersthaShaTheTheHostoskernel, contrairement à VirtualMachines.2

Comment installer Docker sur Centos Comment installer Docker sur Centos Sep 23, 2025 am 02:02 AM

Désinstaller l'ancienne version de Docker pour éviter les conflits, 2. Installez Yum-utils et ajoutez le référentiel Docker officiel, 3. Installez Dockerce, CLI et Containerd, 4. Démarrer et activer Docker Services, 5. Exécuter l'image Hello-World pour vérifier que l'installation est réussie, 6. Configurer éventuellement les utilisateurs non-Root pour exécuter Docker.

See all articles