当我在Docker项目中运行Docker -compose up时,它失败了,并显示以下消息:

启动userland代理时错误:监听tcp 0.0.0.0:3000:绑定:地址已在使用

netstat -pna | grep 3000

显示了这个:

tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      -  

我已经试过docker-compose down了,但没用。


当前回答

我多次遇到同样的问题。重新启动docker似乎可以做到这一点

其他回答

我解决了这个sudo服务redis-server停止

在我的例子中,问题是我作为根用户运行MongoDB,停止它就可以了。

sudo brew services stop mongodb-community

我多次遇到同样的问题。重新启动docker似乎可以做到这一点

我有同样的问题,通过停止docker容器,它得到了解决。

sudo docker container stop <container-name>

让我再加一个例子,因为我有同样的错误,目前列出的解决方案都不可行:

serv1:
  ...
  networks:
  privnet:
    ipv4_address: 10.10.100.2
  ...

serv2:
  ...
  # no IP assignment, no dependencies
  
networks:
  privnet:
    ipam:
      driver: default
      config:
        - subnet: 10.10.100.0/24

根据init顺序,serv2可能会在serv1启动之前被分配IP 10.10.100.2,所以我只是手动为所有容器分配IP以避免错误。也许还有其他更优雅的方式。