Dockerコンテナ起動時に「address already in use」エラーが出た話

WSL2 上の Docker でコンテナ起動時に address already in use が出たときのメモ。lsof / netstat / docker ps で競合プロセスは見つからず、WSL や Docker の再起動も効かず、最終的に PC 再起動で解消した記録。

· 242 字 · 1 分
目次 3 sections
  1. 01 環境
  2. 02 試したこと
  3. 03 最終的な対応

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などが影響していたのか、あるいはゾンビプロセスのようなものが残っていたのか、原因は特定できなかった。困ったときは再起動に限る。

記事一覧