当我在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了,但没用。
当前回答
如果你有同样的问题,并且是在Windows上,只是一个旁注:
在我的情况下,进程在我的方式只是grafana-server.exe。因为我首先下载了二进制版本并双击可执行文件,现在它作为一个服务由用户SYSTEM启动,我不能taskkill(没有权限)
我必须进入Windows的“服务管理器”,搜索“Grafana”服务,并停止它。此后,端口3000不再被占用。
希望这能有所帮助。
其他回答
我通过重新启动Docker来解决这个问题。
我已经用另一个端口运行了集装箱,比如……8082: -)
在您的情况下,是其他进程正在使用端口,正如评论中所指出的,sudo netstat -pna | grep 3000帮助您解决了这个问题。
而在其他情况下(我自己遇到过很多次),大多数情况下是相同的容器在其他实例中运行。在这种情况下,docker ps非常有用,因为我经常让相同的容器在其他目录中运行,然后在其他地方再次尝试运行,在那里使用相同的容器名称。
docker ps如何帮助我:
docker rm -f $(docker ps -aq)是我用来删除所有容器的简短命令。
编辑:增加如何docker ps帮助我。
如果redis服务器作为一个服务启动,当你使用kill -9 <process_id>或sudo kill -9 ' sudo lsof -t -i:<port_number> '时,它会自动重启。在这种情况下,您需要使用以下命令停止redis服务。
Sudo服务redis-server停止
更改docker更新的端口比关闭其他使用端口80的服务更有意义。