Maison Opération et maintenance Docker Concentrez-vous sur la façon d'utiliser différents répertoires dans Docker Service

Concentrez-vous sur la façon d'utiliser différents répertoires dans Docker Service

Apr 19, 2023 pm 03:26 PM

Docker est une technologie de conteneurisation très populaire qui permet de créer, déployer et exécuter des applications rapidement et efficacement. Docker Service est l'un des mécanismes les plus couramment utilisés pour la gestion des clusters Docker. À l'aide du service Docker, les utilisateurs peuvent combiner plusieurs conteneurs Docker en un seul service pour obtenir une haute disponibilité, un équilibrage de charge et d'autres objectifs. Cet article se concentrera sur la façon d'utiliser différents répertoires dans Docker Service.

Qu'est-ce que le service Docker ?

Docker Service est l'un des mécanismes de gestion du cluster Docker. Il peut combiner plusieurs conteneurs Docker en un seul service. Docker Service implémente des fonctions telles que la haute disponibilité, l'équilibrage de charge et l'expansion automatique, qui peuvent aider les utilisateurs à optimiser les services et les applications.

Docker Service prend en charge différentes stratégies de déploiement, telles que la réplique et la globalité. Lorsqu'ils utilisent la stratégie de réplication, les utilisateurs peuvent définir le nombre de conteneurs à lancer, et Docker Engine déploiera et gérera automatiquement les instances de conteneurs sur le cluster. Lors de l'utilisation de la stratégie globale, Docker Engine démarrera une copie du conteneur et la déploiera sur chaque nœud du cluster.

Avantages de l'utilisation du service Docker

L'utilisation du service Docker peut apporter de nombreux avantages, en voici quelques-uns principaux :

  • Haute disponibilité : le service Docker peut facilement atteindre une haute disponibilité des conteneurs, même si un certain nœud tombe en panne, il peut également démarrez automatiquement de nouvelles instances de conteneur sur d'autres nœuds via la fonction d'équilibrage automatique du conteneur.
  • Équilibrage de charge : l'utilisation du service Docker peut facilement réaliser un équilibrage de charge, de sorte que l'application de l'utilisateur soit toujours dans le meilleur état sans avoir à prêter attention aux problèmes d'équilibrage de charge.
  • Extension automatique : Docker Service prend en charge l'expansion automatique. Les utilisateurs n'ont qu'à ajuster le nombre de conteneurs pour réaliser l'expansion de l'application.

Comment Docker Service utilise-t-il différents répertoires ?

Docker Service utilise le répertoire où se trouve le Dockerfile comme contexte de construction de l'image du conteneur par défaut. Cependant, lorsque nous devons créer différentes images dans différents répertoires, nous devons utiliser différents contextes de construction.

Ce qui suit explique comment utiliser différents répertoires pour créer des images Docker et utiliser le service Docker pour déployer des applications.

  1. Créer la structure de répertoires

Tout d'abord, nous créons la structure de répertoires suivante :

.
├── dockerfiles
│   ├── web1
│   │   ├── Dockerfile
│   │   └── index.html
│   └── web2
│       ├── Dockerfile
│       └── index.html
├── docker-compose.yml
└── services.yml
Copier après la connexion

Dans le répertoire dockerfiles, nous avons créé deux répertoires, web1 et web2 respectivement. Chaque répertoire contient un fichier Dockerfile et un fichier index.html. Parmi eux, le fichier Dockerfile est utilisé pour créer l'image Docker et le fichier index.html est utilisé pour tester si le conteneur fonctionne normalement.

Dans le fichier services.yml, nous définissons un service nommé web pour déployer deux conteneurs, web1 et web2.

  1. Écrire des Dockerfiles

Dans notre exemple, nous avons créé un Dockerfile pour web1 et web2 respectivement. Ils sont les suivants :

Fichier Dockerfile dans le répertoire web1 :

FROM nginx
COPY index.html /usr/share/nginx/html
Copier après la connexion

Fichier Dockerfile dans le répertoire web2 :

FROM nginx
WORKDIR /usr/share/nginx/html
COPY index.html .
Copier après la connexion

Ici, nous utilisons différents fichiers Dockerfile et utilisons différents contextes de construction dans chaque fichier. Le Dockerfile de web1 utilise la directive COPY, qui copie le fichier index.html du contexte de construction spécifié dans le conteneur. Le Dockerfile web2 utilise l'instruction WORKDIR et l'instruction COPY, qui définiront le répertoire de travail sur /usr/share/nginx/html et copieront le fichier index.html du contexte de construction vers le conteneur.

  1. Écriture du fichier docker-compose.yml

Nous utilisons toujours le fichier docker-compose.yml pour définir nos services. Le contenu du fichier est le suivant :

version: '3.7'

services:
  web1:
    build:
      context: ./dockerfiles/web1
    image: web1
    deploy:
      replicas: 2
    ports:
      - 8081:80

  web2:
    build:
      context: ./dockerfiles/web2
    image: web2
    deploy:
      replicas: 3
    ports:
      - 8082:80
Copier après la connexion

Dans le fichier docker-compose.yml, nous définissons deux services : web1 et web2, qui utilisent respectivement des contextes de build différents. Dans le même temps, nous spécifions également les attributs de réplicas et de ports de chaque service pour contrôler le nombre de conteneurs et le mappage des ports.

  1. Déployer le service

Enfin, nous utilisons la commande Docker Stack pour déployer le service :

$ docker stack deploy -c services.yml myapp
Copier après la connexion

Une fois l'exécution de la commande terminée, nous pouvons utiliser la commande suivante pour afficher l'état du service :

$ docker stack ps myapp
Copier après la connexion
  1. Testez le service

Une fois le déploiement du service terminé, nous pouvons utiliser le navigateur pour accéder aux URL suivantes afin de tester si les services web1 et web2 fonctionnent correctement :

service web1 :

http://localhost:8081
Copier après la connexion

service web2 :

http://localhost:8082
Copier après la connexion

Si tout va bien, nous verrons le index.html sur le contenu de chaque fichier de service.

Résumé

Dans cet article, nous avons présenté comment utiliser différents répertoires pour la création de conteneurs dans Docker Service. Nous avons créé deux services avec des Dockerfiles différents et défini le contexte de construction des services dans le fichier docker-compose.yml. Enfin, nous avons déployé le service et testé son bon fonctionnement. Cela offre aux utilisateurs utilisant le service Docker un moyen pratique de créer des images de conteneurs dans différents répertoires.

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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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éployer des applications à un cluster Swarm Docker? Comment déployer des applications à un cluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

L'article détaille les applications de déploiement de Docker Swarm, couvrant la préparation, les étapes de déploiement et les mesures de sécurité pendant le processus.

Que sont les gods, les déploiements et les services de Kubernetes? Que sont les gods, les déploiements et les services de Kubernetes? Mar 17, 2025 pm 04:25 PM

L'article explique les pods, déploiements et services de Kubernetes, détaillant leurs rôles dans la gestion des applications conteneurisées. Il explique comment ces composants améliorent l'évolutivité, la stabilité et la communication dans les applications. (159 caractères)

Comment faire évoluer les applications à Kubernetes? Comment faire évoluer les applications à Kubernetes? Mar 17, 2025 pm 04:28 PM

L'article traite des applications de mise à l'échelle dans Kubernetes à l'aide de l'échelle manuelle, HPA, VPA et Autoscaler en cluster, et fournit les meilleures pratiques et outils pour surveiller et automatiser l'échelle.

Comment mettre en œuvre des quotas de limitation des taux et des ressources dans les conteneurs Docker? Comment mettre en œuvre des quotas de limitation des taux et des ressources dans les conteneurs Docker? Mar 12, 2025 pm 06:07 PM

Cet article détaille la mise en œuvre de la limitation des taux et des quotas de ressources dans Docker. Il couvre les limites du processeur, de la mémoire et des E / S à l'aide de CGROUPS, mettant l'accent sur les meilleures pratiques pour prévenir l'épuisement des ressources. Limitation du taux de réseau, nécessitant des outils externes comme

Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Mar 17, 2025 pm 04:23 PM

L'article examine la mise en œuvre des mises à jour de roulement dans Docker Swarm pour mettre à jour les services sans temps d'arrêt. Il couvre les services de mise à jour, la définition des paramètres de mise à jour, la surveillance des progrès et la garantie de mises à jour en douceur.

Comment gérer les services dans Docker Swarm? Comment gérer les services dans Docker Swarm? Mar 17, 2025 pm 04:22 PM

L'article discute de la gestion des services dans Docker Swarm, en se concentrant sur la création, la mise à l'échelle, la surveillance et la mise à jour sans temps d'arrêt.

Comment gérer les déploiements à Kubernetes? Comment gérer les déploiements à Kubernetes? Mar 17, 2025 pm 04:27 PM

L'article examine la gestion des déploiements de Kubernetes, en se concentrant sur la création, les mises à jour, la mise à l'échelle, la surveillance et l'automatisation à l'aide de divers outils et meilleures pratiques.

Quelles sont les meilleures façons d'optimiser Docker pour les applications à faible latence? Quelles sont les meilleures façons d'optimiser Docker pour les applications à faible latence? Mar 14, 2025 pm 02:00 PM

L'article traite des stratégies pour optimiser Docker pour les applications à faible latence, en se concentrant sur la minimisation de la taille de l'image, en utilisant des images de base légères et en ajustant l'allocation des ressources et les paramètres du réseau.

See all articles