webdevqa.jp.net

Dockerエラーバインド:アドレスは既に使用されています

Dockerプロジェクトでdocker-compose upを実行すると、次のメッセージが表示されて失敗します。

Error starting userland proxy: listen tcp 0.0.0.0:3000: bind: address already in use

netstat -pna | grep 3000はこれを示しています。

tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      -  

すでにdocker-compose downを試しましたが、役に立ちません。

36
Ngoral

あなたの場合、ポートを使用している他のプロセスであり、コメントに示されているように、Sudo netstat -pna | grep 3000は問題の解決に役立ちました。

他の場合(私自身も何度も遭遇しました)は、ほとんどが他のインスタンスで実行されている同じコンテナです。その場合、docker psは非常に役に立ちました。多くの場合、同じコンテナを他のディレクトリで実行したままにして、同じコンテナ名が使用されている他の場所で再度実行しようとしました。

docker psが私を助けた方法:docker rm -f $(docker ps -aq)は、すべてのコンテナを削除するために使用する短いコマンドです。

編集:docker psがどのように役立つかを追加しました。

30
Ayushya

これは私を助けました:

docker-compose down
docker rm -fv $(docker ps -aq)
Sudo lsof -i -P -n | grep <port number>

そして、kill -9 <process id>(macOS)またはSudo kill <process id>(Linux)。

出典: ユーザーRub21によるコメント

8

同じ問題がありました。ホストでApache2サービスを停止することでこれを修正しました。

3
Fabien Thetis

私は同じ問題を抱えていた、
docker-compose down --rmi all(docker-compose upを実行したディレクトリと同じディレクトリ内)
ヘルプ

2
Lytvoles

私の場合は

ユーザーランドプロキシの起動エラー:リッスンtcp 0.0.0.0:9000:バインド:アドレスは既に使用されています

そして、私が必要なのは、PHPストームでデバッグリスニングをオフにすることです icon

1
user3724832

同じ問題に何度か遭遇しました。 Dockerを再起動するとうまくいくようです

0
arvind