ホームページ  >  記事  >  バックエンド開発  >  WebSocket サーバーに Docker コンテナの外部からアクセスできるようにするにはどうすればよいですか?

WebSocket サーバーに Docker コンテナの外部からアクセスできるようにするにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-06 21:41:02602ブラウズ

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

WebSocket サーバーの Docker 化

WebSocket サーバーを Docker 化するには、 Docker 環境。

問題

WebSocket サーバーが localhost:8000 でリッスンするように構成されている場合、Docker コンテナーの外部からアクセスできなくなります。これは、localhost が外部からアクセスできないループバック アドレス 127.0.0.1 に解決されるためです。

修正

この問題を解決するには、サーバーのリッスン アドレスが次のとおりである必要があります。これは、サーバーにコンテナのすべての IP アドレスをリッスンするように指示する「:8000」に変更されました。これにより、トラフィックがコンテナに転送され、サーバーに到達できるようになります。

追加情報

Docker は、iptables ルールを使用してポート転送を容易にします。これらのルールは、次のコマンドを使用して表示できます。

iptables -n -L
iptables -t nat -n -L

Docker コンテナ内のポートを公開することで、コンテナの外部のクライアントと通信できる、パブリックにアクセス可能な WebSocket サーバーを作成できます。

以上がWebSocket サーバーに Docker コンテナの外部からアクセスできるようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。