Dockerコンテナ起動時に「address already in use」エラーが出た話
WSL2 上の Docker でコンテナ起動時に address already in use が出たときのメモ。lsof / netstat / docker ps で競合プロセスは見つからず、WSL や Docker の再起動も効かず、最終的に PC 再起動で解消した記録。
Dockerコンテナ起動時に以下のエラーが発生した際のメモ。
failed to bind host port for 0.0.0.0:8080:... address already in use環境
Windows上のWSL2(Ubuntu)
試したこと
まずポートが競合していないか、以下のコマンドで調べた。
- WSLで
lsof -i:8080→ 何も表示されず - Windows(PowerShell)で
netstat -anp | grep 8080→ 何も表示されず docker ps -aで不要なコンテナがないことを確認
いずれも競合しているプロセスは見当たらなかった。
次にDockerやWSL自体の再起動を試みた。
- WSL2の再起動(
wsl --shutdown) - Dockerサービスの再起動 (
sudo service docker restart) - Dockerネットワークのリセット(
docker network prune)
しかしいずれも効果なし。
最終的な対応
PC再起動 でコンテナ起動に成功した。
WindowsのFast Startupなどが影響していたのか、あるいはゾンビプロセスのようなものが残っていたのか、原因は特定できなかった。困ったときは再起動に限る。