Maison > développement back-end > Golang > Comment rendre un serveur WebSocket accessible depuis l'extérieur d'un conteneur Docker ?

Comment rendre un serveur WebSocket accessible depuis l'extérieur d'un conteneur Docker ?

DDD
Libérer: 2024-11-06 21:41:02
original
744 Les gens l'ont consulté

How can I make a WebSocket server accessible from outside a Docker container?

Dockerisation d'un serveur WebSocket

Afin de dockeriser un serveur WebSocket, il est nécessaire de résoudre le problème de l'écoute basée sur localhost au sein du Environnement Docker.

Le problème

Lorsqu'un serveur WebSocket est configuré pour écouter sur localhost:8000, il devient inaccessible depuis l'extérieur du conteneur Docker. En effet, localhost se résout en 127.0.0.1, une adresse de bouclage qui n'est pas accessible de l'extérieur.

Le correctif

Pour résoudre ce problème, l'adresse d'écoute du serveur doit être remplacé par ":8000", qui demande au serveur d'écouter toutes les adresses IP de son conteneur. Cela permet au trafic d'être transféré vers le conteneur et d'atteindre le serveur.

Informations supplémentaires

Docker utilise les règles iptables pour faciliter la redirection de port. Ces règles peuvent être visualisées à l'aide des commandes suivantes :

iptables -n -L
iptables -t nat -n -L
Copier après la connexion

En exposant les ports dans un conteneur Docker, il est possible de créer un serveur WebSocket accessible publiquement qui peut communiquer avec les clients en dehors du conteneur.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal