当我在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项目中运行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了,但没用。
当前回答
首先,确定在特定端口中运行的是哪个服务。在您的示例中,您已经使用了端口号3000。
netstat -aof | findstr :3000
现在停止正在特定端口上运行的进程
lsof -i tcp:3000
其他回答
让我再加一个例子,因为我有同样的错误,目前列出的解决方案都不可行:
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以避免错误。也许还有其他更优雅的方式。
For Linux / Unix:
简单搜索linux实用程序使用以下命令
netstat -nlp | grep 8888
它将显示在该端口上运行的进程,然后使用该进程的PID(在行中查找PID)杀死该进程。
kill PID
对我来说是
启动userland代理错误:监听tcp 0.0.0.0:9000:绑定:地址已经在使用
我所需要的就是在php风暴中关闭调试监听
检查docker-compose。Yml,可能会出现端口被指定两次的情况。
version: '3'
services:
registry:
image: mysql:5.7
ports:
- "3306:3306" <--- remove either this line or next
- "127.0.0.1:3306:3306"
更改docker更新的端口比关闭其他使用端口80的服务更有意义。