在docker-compose上出现"已经在使用的地址"错误

Kur*_*eek 23 docker

我正在尝试启动几个docker容器docker-compose up,但是我收到以下(部分)错误消息:

Recreating 1faf02f5d67e_1faf02f5d67e_1faf02f5d67e_1faf02f5d67e_1faf02f5d67e_ipercroncompose_rabbitmq_1

ERROR: for rabbitmq  Cannot start service rabbitmq: driver failed programming external connectivity on endpoint ipercroncompose_rabbitmq_1 (a8ded956e30b922289614bbbc4e4fb773c58688d395895b575a88b638592df94): Error starting userland proxy: listen tcp 0.0.0.0:5672: bind: address already in use
ERROR: Encountered errors while bringing up the project.
Run Code Online (Sandbox Code Playgroud)

根据https://github.com/docker/docker/issues/8714的建议,我尝试了命令

netstat -pna | grep 5672
Run Code Online (Sandbox Code Playgroud)

导致

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:25672           0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::5672                 :::*                    LISTEN      -               
unix  2      [ ]         DGRAM                    15672    -    
Run Code Online (Sandbox Code Playgroud)

但是,我在这里看不到任何可以杀死的进程ID.是什么原因造成了这个错误?

Kur*_*eek 33

关注https://unix.stackexchange.com/questions/106561/finding-the-pid-of-the-process-using-a-specific-port,而不是netstat我使用的lsof -i:

kurt@kurt-ThinkPad:~$ sudo lsof -i :5672 | grep LISTEN
[sudo] password for kurt: 
beam.smp 953 rabbitmq   52u  IPv6  33026      0t0  TCP *:amqp (LISTEN)
Run Code Online (Sandbox Code Playgroud)

sudo kill 953跑完之后,我就跑了docker-compose up.