重启docker时:Error starting userland proxy: listen tcp 0.0.0.0:9000: listen: address already in use

服务器挂了之后

运行重启docker

docker start 41xxxxxxxad0

报错:
重启docker时:Error starting userland proxy: listen tcp 0.0.0.0:9000: listen: address already in use

查看端口 必须用sudo

sudo netstat -pna | grep 9000
在这里插入图片描述记住PID号

kill掉:

sudo kill 5763

再次重启

docker start 41xxxxxxxad0

ok!

### 解决 Docker 用户空间代理启动错误 当遇到 `Error starting userland proxy: listen tcp4 0.0.0.0:8080: bind: address already in use` 错误,表明端口 8080 已经被其他进程占用。为了成功运行容器并绑定到该端口,可以采取以下措施: #### 查找占用端口的进程 通过命令行工具查找哪个进程正在使用端口 8080: 对于 Linux 和 macOS, 使用如下命令: ```bash lsof -i :8080 ``` 对于 Windows PowerShell, 可以执行: ```powershell Get-Process -Id (Get-NetTCPConnection -LocalPort 8080).OwningProcess ``` 这会返回一系列信息,其中包含 PID(进程 ID),这是终止目标进程所需的关键数据。 #### 终止占用端口的进程 获取到 PID 后,在 Unix-like 系统上可以通过发送信号来结束它: ```bash kill -9 <PID> ``` 请注意,强制杀掉进程可能会丢失未保存的数据;因此建议先确认是否能安全停止此程序再行动。 如果是在 Windows 上,则可以在任务管理器中找到对应的应用程序并点击“结束任务”。 #### 修改Docker映射端口配置 另一种方法是调整 Docker 容器发布的外部访问地址,从而避开冲突。编辑或重新指定 `-p` 参数指向另一个可用端口号: ```bash docker run -d -p 8081:8080 your_image_name ``` 这里将主机上的 8081 映射到了容器内部的服务监听于 8080 的位置[^3]。 #### 验证更改后的状态 完成上述任一操作之后,再次尝试启动之前失败过的镜像实例,并验证其能否正常工作而不抛出相同的异常消息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值