redis部署在docker容器中Could not connect to Redis
容器內redis-cli是可以直接連上的,但是在另一台服務器上就不能用外網ip來連了
雖然我創建redis容器時聲明了映射TCP 6379。
image linux/0805 是我本地提交鏡像 基於 centos7+jdk81.安裝 yum install mongodb-org
2.安裝 yum install redis
提交鏡像到本地
docker commit e955f248e4ec linux/0805
運行本地鏡像
docker run -itd -p 6379:6379 -p 27017:27017 --name=linux0805 --privileged linux/0805 /usr/sbin/init
mongo 鏈接沒有問題 端口也能通但是 redis-cli -h 127.0.0.1 -p 6379 就是不通 提示Error: Server closed the connection
嘗試修改下redis的配置
vim /etc/redis.conf在這行后面加上docker給容器分配的ip:
bind 127.0.0.1 172.17.0.3
其實127.0.0.1在docker容器里可能沒什么用,不過我保留着沒有動它。
反思,docker在映射端口問題上,除了要注意某些應用需要聲明映射UDP協議外(比如stun/turn),還要小心某些TCP應用默認只監聽127.0.0.1這一個IP,而忽略了宿主機映射過來的IP。