尽管已启动并正在运行,但无法连接到本地 redis docker

时间:2021-03-18 18:02:04

标签: macos docker redis

使用以下 redis.conf

▶ cat redis.conf                                                   
bind 0.0.0.0

启动 redis 容器

▶ docker run -d --name redis-test -p 11111:6379  -v /Users/redis.conf:/redis.conf redis redis-server /redis.conf
59eb1612e8c3e2403e18ce889ce1438f6c6a23a7c70bed30b46ff765b7fe7038

日志看起来很健康

▶ docker logs -f 59eb1612e8c3e2403e18ce889ce1438f6c6a23a7c70bed30b46ff765b7fe7038                                                            
1:C 18 Mar 2021 17:57:13.954 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
1:C 18 Mar 2021 17:57:13.954 # Redis version=6.2.1, bits=64, commit=00000000, modified=0, pid=1, just started
1:C 18 Mar 2021 17:57:13.954 # Configuration loaded
1:M 18 Mar 2021 17:57:13.955 * monotonic clock: POSIX clock_gettime
1:M 18 Mar 2021 17:57:13.955 * Running mode=standalone, port=6379.
1:M 18 Mar 2021 17:57:13.955 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:M 18 Mar 2021 17:57:13.956 # Server initialized
1:M 18 Mar 2021 17:57:13.956 * Ready to accept connections

容器出现

▶ docker ps | grep -i redis                
59eb1612e8c3   redis                  "docker-entrypoint.s…"   3 minutes ago        Up 3 minutes        0.0.0.0:11111->6379/tcp   redis-test

如果以上都或多或少都是好的迹象,为什么我无法连接到容器

▶ redis-cli -h localhost -p 11111
Could not connect to Redis at localhost:11111: Connection refused
not connected> 
▶ redis-cli -h 127.0.0.1 -p 11111
Could not connect to Redis at 127.0.0.1:11111: Connection refused
not connected> 

在 MacOS Catalina 上工作

1 个答案:

答案 0 :(得分:-1)

通过运行此命令查找名为 redis-test 的容器的 IP 地址(我在 Linux 中,但我认为在 MacOS 上应该是一样的,如果不一样,抱歉):

docker inspect redis-test | grep -i ipaddress

结果应该是这样的:

"IPAddress": "172.21.0.2"

现在尝试:

redis-cli -h 172.21.0.2 -p 11111