Maison  >  Article  >  Opération et maintenance  >  Pourquoi Docker a-t-il besoin d’un mappage de ports ?

Pourquoi Docker a-t-il besoin d’un mappage de ports ?

WBOY
WBOYoriginal
2022-08-23 17:52:374151parcourir

Parce que lorsque le conteneur Docker est en cours d'exécution, si les paramètres de mappage des ports ne sont pas spécifiés, les services d'application réseau dans le conteneur ne sont pas accessibles via le réseau en dehors du conteneur, le mappage des ports Docker doit donc être défini. le port Une interface vers le système qui permet aux clients non locaux d'accéder aux services exécutés à l'intérieur du conteneur.

Pourquoi Docker a-t-il besoin d’un mappage de ports ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.

Pourquoi Docker a-t-il besoin d'un mappage de port

Doker est un moteur de conteneur d'applications open source Pour faire simple, il s'agit d'un conteneur qui peut empaqueter des programmes et des environnements d'exécution, et publier l'environnement et les programmes ensemble. Lorsque vous avez besoin de publier un programme, vous pouvez utiliser doker pour publier ensemble l'environnement d'exécution. Une fois que d'autres personnes ont obtenu votre programme, elles peuvent l'exécuter directement, évitant ainsi la situation embarrassante de compiler une fois et de déboguer partout.

Pour le dire plus crûment, l'émergence de doker vise principalement à résoudre le problème de savoir pourquoi c'est normal sur ma machine mais pas normal sur votre machine. Les conteneurs Docker ont quatre états : en cours d'exécution, en pause, redémarré et quitté.

Pourquoi avons-nous besoin d'une cartographie des ports Doker ?

Lorsque le conteneur Docker est en cours d'exécution, si les paramètres de mappage de port ne sont pas spécifiés (le mappage de port entre la machine hôte et la machine virtuelle n'est pas configuré), les applications et services réseau du conteneur ne sont pas accessibles via le réseau depuis en dehors du conteneur (programmes externes La machine virtuelle n'est pas accessible car il n'y a pas de port). Afin de résoudre ce problème, vous devez configurer le mappage des ports Doker.

Docker lie l'interface du système hôte via le port, permettant aux clients non locaux d'accéder aux services exécutés à l'intérieur du conteneur. Afin de faciliter la communication entre les conteneurs, docker fournit ce mécanisme de connexion.

Les deux méthodes courantes de mappage de ports de Docker

Mappage automatique des ports

  -P使用时需要指定--expose选项,指定需要对外提供服务的端口
  $ sudo docker run -t -P --expose 22 --name server ubuntu:14.04

Utilisez docker run -P pour lier automatiquement tous les ports de conteneur qui fournissent des services externes, et les ports mappés seront supprimés du pool de ports inutilisés ( 49000..49900) est automatiquement sélectionné. Vous pouvez déterminer les informations de liaison spécifiques via docker ps, docker inspect ou docker port.

Liez le port à l'interface spécifiée

 Syntaxe de base

  $ sudo docker run -p [([:[host_port]])|():] [/ udp]

 Par défaut, toutes les interfaces réseau seront surveillées si l'IP de liaison n'est pas spécifiée.

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:
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