243 文字
1 分
Dockerコンテナ起動時に「address already in use」エラーが出た話
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などが影響していたのか、あるいはゾンビプロセスのようなものが残っていたのか原因は特定できなかったが、困ったときは再起動に限る。
Dockerコンテナ起動時に「address already in use」エラーが出た話
https://blog.c12o.net/posts/docker-address-already-in-use/