前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解决 Error starting userland proxy: listen tcp 0.0.0.0:6379: bind: address already in use

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

作者头像
手撕代码八百里
发布2020-07-29 10:47:24
8.3K0
发布2020-07-29 10:47:24
举报
文章被收录于专栏:猿计划猿计划

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

代码语言:javascript
复制
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:~$ 

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

代码语言:javascript
复制
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:~$ 

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

代码语言:javascript
复制
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:~$ 

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
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:~$ 

然后再启动:

代码语言:javascript
复制
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、…等

如果对你有帮助,可以分享给你身边的朋友。或者给俺点个大大的赞和大大的评论,点赞和评论就是给我最大的支持,感谢。 水平有限,难免会有疏漏或者书写不合理的地方,欢迎交流讨论。 作者:TrueDei 作者唯一博客CSDN:https://truedei.blog.csdn.net/ 转载说明:如需转载请注明原地址和作者名。

如果喜欢我的文章,还没看够可以关注我,我会用心写好每一篇文章。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档