ポートとネットワークのトラブルシューティング
ポートの使用状況、接続失敗、Docker の公開設定、待受アドレス、番号の選び方を手順別に確認できます。
OS、プロトコル、サービスの管理者を確認してから操作します。確認と変更を分けて説明し、プロセス停止やファイアウォール開放を自動化しません。
ポートとネットワークのトラブルシューティング
Docker:ホストとコンテナのポート対応を理解する
コンテナ内の待受、EXPOSE、公開ポートを区別し、ループバック限定の例で確認手順を説明します。
localhost・127.0.0.1・0.0.0.0 の違い
ループバック、全インターフェース、IPv6 の違いから、他の端末から接続できない原因と公開範囲を確認します。
開発用ポートの選び方:登録・使用状況・bind
一覧にない番号が空いているとは限りません。登録用途と端末の状態を確認し、最後にアプリの bind 成功を確かめます。
Windows:ポートを使用するプロセスを安全に確認する
PowerShell で TCP の待受とプロセスを確認し、アプリの正常終了や番号変更を判断します。
Linux / macOS:待受ポートとプロセスを確認する
Linux の ss と macOS の lsof で TCP、UDP、待受アドレスを確認し、誤ったサービス停止を防ぎます。
接続拒否とタイムアウト:段階別に原因を調べる
接続先と待受を確認した後、通信経路、TLS、認証を順番に調べます。すべての失敗がポート競合ではありません。
ソフトウェア・プロトコル別の設定
- 21 — FTP
- 22 — SSH / SFTP
- 25 — SMTP relay
- 53 — DNS
- 67 — DHCPv4 server
- 80 — HTTP
- 115 — Simple File Transfer Protocol
- 143 — IMAP / STARTTLS
- 443 — HTTPS
- 465 — SMTP submission / implicit TLS
- 587 — SMTP submission / STARTTLS
- 993 — IMAP over TLS
- 3000 — Next.js / development HTTP
- 3306 — MySQL
- 3389 — Windows Remote Desktop
- 5432 — PostgreSQL
- 6379 — Redis
- 8080 — HTTP alternate / Tomcat
- 8443 — Alternate HTTPS / Tomcat TLS
- 27017 — MongoDB