解决 Error starting userland proxy: listen tcp 0.0.0.0:6379: bind: address already in use

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 解决 Error starting userland proxy: listen tcp 0.0.0.0:6379: bind: address already in use

今天启动redis突然出现连接端口有问题,错误如下:

truedei@truedei:~$ 
truedei@truedei:~$ sudo docker start redis
Error response from daemon: driver failed programming external connectivity on endpoint redis (87977922525bd67cb6e39c26b2f0229081ff428693991d923c595752a733d41b): Error starting userland proxy: listen tcp 0.0.0.0:6379: bind: address already in use
Error: failed to start containers: redis
truedei@truedei:~$

就查了下端口,果然有在使用的:

truedei@truedei:~$ netstat -ntpl |grep 6379
(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 127.0.0.1:6379          0.0.0.0:*               LISTEN      -                   
truedei@truedei:~$

查一下是谁在占用,让我很是惊讶,居然是他自己,端口被占用了,而且还没启动

truedei@truedei:~$ ps -aux |grep 6379
redis     1397  0.0  0.0  42608  2292 ?        Ssl  07:30   0:00 /usr/bin/redis-server 127.0.0.1:6379
truedei   5096  0.0  0.0  14536   976 pts/4    S+   07:33   0:00 grep 6379
truedei@truedei:~$ 
truedei@truedei:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
truedei@truedei:~$ 
truedei@truedei:~$

先结束掉在说,奇怪的是,杀都杀不掉

truedei@truedei:~$ sudo kill -9 1397
truedei@truedei:~$ ps -aux |grep 6379
redis     8263  0.0  0.0  42608  2164 ?        Ssl  07:35   0:00 /usr/bin/redis-server 127.0.0.1:6379
truedei   8291  0.0  0.0  14536   984 pts/4    S+   07:35   0:00 grep 6379
truedei@truedei:~$

仔细看了一下这个redis并不是docker中安装的redis,而是在本机的:

/usr/bin/redis-server

那就停止掉本机的,果然可以了:

truedei@truedei:~$ /etc/init.d/redis-server stop
[ ok ] Stopping redis-server (via systemctl): redis-server.service.
truedei@truedei:~$ 
truedei@truedei:~$ ps -aux |grep 6379
truedei  10583  0.0  0.0  14536   948 pts/4    S+   07:37   0:00 grep 6379
truedei@truedei:~$ 
truedei@truedei:~$

然后再启动:

truedei@truedei:~$ 
truedei@truedei:~$ sudo docker start redis
redis
truedei@truedei:~$ 
truedei@truedei:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
85cb7d83a2ff        redis               "docker-entrypoint.s…"   22 hours ago        Up 5 seconds        0.0.0.0:6379->6379/tcp   redis
truedei@truedei:~$ 
truedei@truedei:~$

总结:

出现这种情况的大多数原因都是自己的本机安装了redis,而docker中安装的redis与物理机绑定的端口号是相同的,所以就造成了这个原因。

解决方案有很多种:

1、直接卸载物理机的redis

2、不让开机启动

3、修改docker映射的端口号

4、…等

如果对你有帮助,可以分享给你身边的朋友。或者给俺点个大大的赞和大大的评论,点赞和评论就是给我最大的支持,感谢。

水平有限,难免会有疏漏或者书写不合理的地方,欢迎交流讨论。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
目录
相关文章
|
API
FreeRTOS学习笔记—FreeRTOS移植
本文学习了如何移植FreeRTOS到自己的STM32工程。最后,根据正点原子提供的测试main函数,测试了移植效果。
994 0
FreeRTOS学习笔记—FreeRTOS移植
|
Linux 数据安全/隐私保护 Shell
centos7在忘记密码的情况下修改密码
centos7在忘记密码的情况下修改密码: 1、在重启系统过程中,快速在键盘上的上下键, 之后按下e键,进入编辑模式 2、在编辑模式,移动光标到LANG=en_US.
3737 0
|
2月前
|
存储 Ubuntu 安全
如何在服务器上快速安装 ERPNext 最新版本?
ERPNext 是一款开源且功能全面的企业资源规划软件,在企业信息化管理中广泛应用。本文介绍如何通过 Websoft9 控制台安装其最新版本,以提升部署效率。内容涵盖安装前的服务器准备、Websoft9 控制台登录,到通过应用市场安装 ERPNext 的详细步骤,以及安装后的验证与基础配置。帮助企业快速搭建稳定高效的信息化管理平台,满足财务、采购、销售、库存等多方面业务需求,助力企业降本增效,实现可持续发展。
|
11月前
|
安全 Ubuntu 网络安全
docker中主机模式(host)
【10月更文挑战第4天】
676 1
|
网络协议 C++ Docker
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
Docker pull拉取镜像报错“Error response from daemon: Get "https://registry-1.docker.io/v2”解决办法
47069 1
|
SQL 关系型数据库 数据挖掘
在 PostgreSQL 中使用 `HAVING` 子句
【8月更文挑战第12天】
598 2
|
SQL 资源调度 数据库连接
Hive怎么调整优化Tez引擎的查询?在Tez上优化Hive查询的指南
在Tez上优化Hive查询,包括配置参数调整、理解并行化机制以及容器管理。关键步骤包括YARN调度器配置、安全阀设置、识别性能瓶颈(如mapper/reducer任务和连接操作),理解Tez如何动态调整mapper和reducer数量。例如,`tez.grouping.max-size` 影响mapper数量,`hive.exec.reducers.bytes.per.reducer` 控制reducer数量。调整并发和容器复用参数如`hive.server2.tez.sessions.per.default.queue` 和 `tez.am.container.reuse.enabled`
1172 0
|
数据可视化 Python
Seaborn中的时间序列图:展示数据随时间的变化趋势
【4月更文挑战第17天】使用Seaborn创建时间序列图可展现数据随时间变化的趋势。首先,确保数据集包含日期时间格式的时间戳字段。借助Pandas处理数据,然后使用Seaborn的`lineplot`创建基本图表。通过`line_kws`自定义线条样式,添加标题和轴标签以增强可视化。结合Pandas的`rolling`计算滚动平均值,`resample`进行数据重采样,或使用Statsmodels进行时间序列分析和预测,从而提升图表功能和分析深度。有效定制图表有助于更好地理解和传达数据趋势。
|
存储 Linux iOS开发
【Picgo指南】图床神器之Picgo工具的安装与快速上手详细教程
【Picgo指南】图床神器之Picgo工具的安装与快速上手详细教程
1997 4
|
关系型数据库 MySQL 编译器
【Qt 数据库 】qt使用mysql的准备工作
【Qt 数据库 】qt使用mysql的准备工作
351 1