今天启动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、…等
如果对你有帮助,可以分享给你身边的朋友。或者给俺点个大大的赞和大大的评论,点赞和评论就是给我最大的支持,感谢。
水平有限,难免会有疏漏或者书写不合理的地方,欢迎交流讨论。
作者:TrueDei
作者唯一博客CSDN:https://truedei.blog.csdn.net/
转载说明:如需转载请注明原地址和作者名。
如果喜欢我的文章,还没看够可以关注我,我会用心写好每一篇文章。