Différence entre l'expose et les ports dans Docker Compose

Différence entre l'expose et les ports dans Docker Compose
Docker Compose est un composant central de Docker qui est fréquemment utilisé pour configurer l'application exécutée sur plusieurs conteneurs. Docker-Compose est principalement utilisé pour configurer les services de conteneurs dans le «Yaml" déposer. Différentes touches sont utilisées dans la configuration du service, «exposer" et "ports"Sont spécifiquement utilisés pour spécifier le port d'exposition pour les conteneurs.

Cet article expliquera la différence entre les ports et l'expose de la clé dans Docker Compose.

Différence entre l'expose et les ports dans Docker Compose

Le "exposer" et "ports»Les touches dans Docker Compose sont utilisées pour configurer le réseau et les ports exposés pour le conteneur. Cependant, les deux clés sont utilisées dans le même but, mais la principale différence entre les «ports» et «exposer» est que la clé d'exposition est accessible aux services connectés au même réseau mais pas sur l'hôte. En revanche, les ports sont accessibles et publiés sur l'hôte ainsi que sur le réseau connecté.

Vérification de la différence entre les clés «exposer» et «ports» dans Docker-Compose pratiquement

Pour vérifier la différence entre l'expose et la clé de ports pratiquement, passez par les exemples énumérés:

  • Utiliser "ports»Clé dans le fichier docker-compose
  • Utiliser "exposer»Clé dans le fichier docker-compose

Exemple 1: Utiliser la clé «Ports» dans le fichier docker-compose

Le "ports»La clé est utilisée pour publier le conteneur sur la machine hôte. Ces conteneurs sont accessibles à tous les services qui s'exécutent également sur l'hôte sur un réseau connecté.

Pour utiliser la clé «Ports» dans Docker Compose, consultez les instructions données.

Étape 1: Créez un «docker-compose.yml "

Faire un "composer docker.YML»Fichier et collez le bloc de code ci-dessous dans le fichier:

Version: "3"
prestations de service:
la toile:
Image: Nginx: Dernière
PORTS:
- 8080: 80

Selon l'extrait ci-dessus:

  • "la toile«Le service est configuré dans le«composer docker.YML" déposer.
  • "image»Définit l'image de base pour le conteneur de composition
  • "ports”Spécifiez le port exposant du conteneur sur un réseau et un hôte:

Étape 2: Démarrer les conteneurs

Ensuite, créez et lancez le conteneur de composition à l'aide de «secouer docker" commande:

> docker-compose up -d

Étape 3: Répertoriez Compose Container

Énumérez le conteneur et vérifiez le port d'exposition du conteneur. À partir de la sortie, il peut observer que nous avons publié le conteneur sur l'hôte:

> docker-compose ps

Exemple 2: Utiliser la clé «Expose» dans le fichier Docker-Compose

Pour utiliser la clé d'exposition dans le «composer docker.YML»Fichier, jetez un œil aux instructions fournies.

Étape 1: Créez un «docker-compose.yml "

Maintenant, configurez le «la toile«Service sur l'exposition du port 80 à l'aide du«exposer" clé. Ici, nous n'avons défini aucun réseau pour le conteneur:

Version: "3"
prestations de service:
la toile:
Image: Nginx: Dernière
exposer:
- 8080: 80

Étape 2: tirez le récipient

Ensuite, créez et démarrez le conteneur Compose pour exécuter le service Web à l'aide de la commande fournie:

> docker-compose up -d

Étape 3: Répertoriez Compose Container

Énumérez le conteneur de compose et vérifiez le port exposant du conteneur. À partir de la sortie ci-dessous, vous pouvez observer que le conteneur est accessible uniquement sur le port 80 sur un réseau sélectionné par défaut mais pas sur l'hôte:

> docker-compose ps

Nous avons défini la distinction de «exposer" et "ports”Keys in docker compose.

Conclusion

Le "exposer" et "ports«Sont tous deux utilisés pour spécifier le port exposant du conteneur pour exécuter des services définis. La principale différence entre ces deux clés est que les «ports» sont publiés et accessibles sur la machine hôte et également sur le réseau spécifié, tandis que «Expose» n'est publié que sur le réseau défini et accessible par des services qui s'exécutent sur le même réseau. Cet article a démontré la distinction entre «ports» et «exposer» dans Docker Compose.