docker安装hyperf环境,连接本机redis问题处理

错误信息显示"Connection refused",这通常说明 Docker 容器内的 Hyperf 项目无法连接到你本机的 Redis 服务。


1. 容器内的 127.0.0.1 指向问题

在 Docker 容器中,127.0.0.1 指的是容器本身,而不是宿主机(你的 Mac)。如果 Redis 安装在宿主机上,容器内部用 127.0.0.1 是无法访问到的。

解决方案

  • 使用 host.docker.internal

    在你的 .env 文件中,将 REDIS_HOST 修改为 host.docker.internal:

    ini 复制代码
    REDIS_HOST=host.docker.internal
    REDIS_AUTH=123456
    REDIS_PORT=6379
    REDIS_DB=0

    这样容器就会通过 Docker 内置的 DNS 解析到宿主机 IP。

  • 设置 Docker 网络

    如果你使用的是自定义网络,确保容器可以通过网络访问到宿主机的 IP 地址。


相关推荐
aiks_yuan3 小时前
Redis 大key怎么排查和删除:--bigkeys 每类只报一个,DEL 百万字段的 Hash 卡 0.3 秒(Redis 7.2 实测)
redis
羑悻的小杀马特6 小时前
Redis持久化三剑客:RDB二进制快照、AOF文本日志、混合模式如何守护你的数据安全?
数据库·redis·缓存·aof·持久化存储·rdb
时间的拾荒人7 小时前
Redis 进阶实战:渐进式遍历、持久化机制与事务详解
数据库·redis·缓存
wz97547 小时前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*8 小时前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词
小白的码BUG之路9 小时前
Jenkins -- gitee+docker+harbor+k8s 部署项目
docker·gitee·jenkins
AlfredZhao9 小时前
Docker Compose 平滑切换环境变量文件,容器配置不残留
docker
码哥字节1 天前
缓存一致性:先删缓存还是先更新库?3 种方案对比 + 实战
redis