Docker は現在最も人気のあるコンテナ化テクノロジの 1 つであり、アプリケーションに軽量でポータブルな実行環境を提供します。ただし、特に Docker コンテナのポートに接続しようとすると、接続エラーが発生することがあります。この記事では、この接続失敗の問題が発生する原因を調査し、いくつかの解決策を提供します。
接続エラーはなぜ発生しますか?
解決策について説明する前に、接続障害の問題が発生する理由を理解する必要があります。接続が失敗する考えられる理由は次のとおりです。
Docker では、ホスト ポートをコンテナ内のポートにマッピングできるため、外部クライアントがcan pass ホストポートはコンテナと通信します。ホスト ポートとコンテナー ポートの順序を混同するなど、ポートのマッピング時に間違いを犯すと、クライアントはコンテナー サービスに接続できなくなります。
ファイアウォールは、サーバーを不正なアクセスから保護するのに役立ちます。ただし、ファイアウォールが正しく構成されていない場合、外部クライアントが Docker コンテナと通信できなくなる可能性があります。したがって、Docker コンテナに対して正しいポートが開かれていることを確認し、クライアントのアクセスを許可する必要があります。
実行されていない Docker コンテナのポートに接続しようとすると、接続できないという問題に直面します。接続する。クライアントと通信するには、Docker コンテナが実行されている必要があります。したがって、Docker コンテナが実行されていることを確認する必要があります。
解決策
これで、接続失敗の問題の原因がわかりました。次に、いくつかの解決策を見てみましょう。
接続失敗の問題が発生した場合は、まず Docker コンテナのポート マッピングが正しいかどうかを確認してください。次のコマンドを使用して、コンテナのポート マッピングを確認できます。
docker container ls --format '{{.Names}} {{.Ports}}'
このコマンドは、実行中の Docker コンテナとそのポート マッピング情報を一覧表示します。ポート マッピングのエラーに気付いた場合は、次のコマンドを使用してコンテナを停止して再起動し、変更を適用します。
docker container stop <container_name> docker container start <container_name>
ファイアウォールが正しいことを確認する 接続障害の問題を解決するには、構成も重要です。 Docker コンテナーに必要なポートを開くには、次のコマンドを使用します:
sudo ufw allow <port>/tcp
このコマンドでは、「
sudo ufw status numbered
このコマンドは、現在構成されているファイアウォール ルールのリストを表示します。正しいエントリが表示された場合は、この手順をスキップしてください。
実行されていない Docker コンテナのポートに接続しようとする場合は、Docker コンテナが実行されていることを確認する必要があります。が走っています。次のコマンドを使用して、Docker コンテナのステータスを確認できます。
docker container ls
Docker コンテナが実行されていないことに気付いた場合は、次のコマンドを使用して起動します。
docker container start <container_name>
「」を置き換えることができます。
結論
この記事では、Docker コンテナーの接続失敗の問題の原因を調査し、考えられる解決策をいくつか示しました。問題が解決しない場合は、環境が Docker コンテナの要件を満たしていることを確認し、同じポート番号を占有している他のアプリケーションまたはソフトウェアが存在するかどうかを確認してください。他の問題やエラーが発生した場合は、該当するドキュメントを確認するか、コミュニティに助けを求めてください。
以上がDockerポート接続失敗の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。