在尝试启动docker中的redis的时候突然报错了
$ sudo docker start redis
Error response from daemon: driver failed programming external connectivity on endpoint redis (89f663b87a43b4cbf45acd826512dea07fd05d257eb1a7b86b1afeb1402bef6e): Error starting userland proxy: listen tcp4 0.0.0.0:6379: bind: address already in use
Error: failed to start containers: redis
查看一下端口占用情况
$ netstat -anp | grep 6379
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 1108/redis-server 1
tcp6 0 0 ::1:6379 :::* LISTEN 1108/redis-server 1
发现已经有一个redis-server在运行了(而且是kill不掉的),查了一些博客发现这个是本机的redis在运行
先把本机的redis停掉
$ /etc/init.d/redis-server stop
[ ok ] Stopping redis-server (via systemctl): redis-server.service.
然后就可以继续运行docker中的redis了
$ sudo docker start redis
redis
$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f7cb3be5f598 redis "docker-entrypoint.s…" 5 hours ago Up 4 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp redis