Dockerのポートマッピングが機能しない場合の解決策

Dockerコンテナのマップされたポートにつながらない場合、次の手順でトラブルシューティングして解決します。

  1. ・docker psコマンドでコンテナの実行ステータスを確認する。コンテナが起動していない場合は、起動する。
  2. Docker ps コマンドでコンテナのポートマッピング設定を確認:マッピングされた外部ポートとコンテナ内部のポートが正しいことを確認します。
  3. コンテナ内のサービスが正常に動作しているかを確認:コンテナにログインし、コンテナ内のサービスが正常に動作していることを確認してください。docker exec -it /bin/bashを使用してコンテナにログインし、netstat -tlnpなどのコマンドを使用してサービスの状態を確認できます。
  4. ホスト機のファイアウォール設定を確認:コンテナとホスト機が同一マシンにある場合、該当するポートへのアクセスがホスト機のファイアウォールで許可されていることを確認する必要があります。iptables -Lコマンドでファイアウォール設定を確認し、ポートを開放する必要がある場合はiptables -A INPUT -p tcp –dport -j ACCEPTで対応するルールを追加します。
  5. 次のようにpingコマンドでホストとコンテナ間のネットワーク接続状況を確認する。接続不良時は、ネットワーク設定に問題がある可能性があるので、調査と修復が必要になる。
  6. Docker デーモンの設定を確認する:場合によっては、Docker デーモンの設定がポートマッピングに影響を及ぼす可能性があります。Docker デーモンの設定ファイル(/etc/docker/daemon.json など)を確認し、「iptables」: false などのポートマッピングに制限を与える設定項目がないか調べます。設定項目があれば、必要に応じて変更または削除します。

上記の手順の排除により、ポートマッピングが通じない原因を特定し、対応する解決法を見つけることができます。

bannerAds