Ubuntu Docker容器内无法连接Redis问题求助
解决Redis-cli连接被拒绝的问题
你的问题根源很清楚:只安装了Redis客户端工具(redis-tools),但容器内没有运行Redis服务端,所以当你执行redis-cli ping连接本地127.0.0.1:6379时,没有服务在监听这个端口,自然会返回连接被拒绝。
按以下步骤修复:
- 在容器内安装Redis服务端:
apt-get install -y redis-server - 启动Redis服务(后台运行):
redis-server --daemonize yes - 再次执行连接测试:
此时应该会收到redis-cli pingPONG的响应,说明连接成功。
额外说明
- 你之前添加的
-p 6379:6379端口映射是将容器的6379端口映射到Mac主机的6379端口,等Redis服务启动后,你也可以在Mac主机上直接用redis-cli ping连接容器内的Redis服务。 - 如果需要容器重启后Redis自动启动,由于Ubuntu基础镜像默认没有systemd,你可以修改容器启动命令,让Redis前台运行,比如重新创建容器时使用:
docker run -it --name ubuntu-container -p 6379:6379 ubuntu bash -c "apt-get update && apt-get install -y redis-server redis-tools && redis-server"
内容的提问来源于stack exchange,提问作者Vivek Agrawal
相关产品推荐
相关产品推荐

