容器内redis-cli是可以直接连上的,但是在另一台服务器上就不能用外网ip来连了
虽然我创建redis容器时声明了映射TCP 6379。
image linux/0805 是我本地提交镜像 基于 centos7+jdk8
1.安装 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。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:redis 连接 docker容器 6379端口失败 - Python技术站