首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >redis.exceptions.ConnectionError:连接到本地主机的错误99 :6379。无法分配请求的地址

redis.exceptions.ConnectionError:连接到本地主机的错误99 :6379。无法分配请求的地址
EN

Stack Overflow用户
提问于 2021-07-09 14:30:18
回答 1查看 1.1K关注 0票数 0

知道为什么在尝试从一个容器运行redis命令到另一个容器时会出现连接错误吗?我试图在本地运行一个旧python2.7lambda,以便在升级到3.8.10之前进行测试,我正在运行一个用my_app容器构建和链接redisdb容器的脚本:

代码语言:javascript
运行
复制
docker build . -t my_app:latest
docker pull redis:3.2.4-alpine && \
docker run --name=redisdb -d  redis:3.2.4-alpine redis-server
docker run \
    --rm -t -i -d \
    --link redisdb:redis \
    -h redis -p 6379 \
    -e CONFIG_FILE=local_config.yaml \
    my_app

我使用以下命令在my_app上运行python脚本:

代码语言:javascript
运行
复制
r = redis.Redis()
r.mset({"Bahamas": "Nassau"})
print(r.get("Bahamas"))

我在这里也尝试过最重要的建议:Error 99 connecting to localhost:6379. Cannot assign requested address和通过r = redis.Redis(host='localhost', port=6379, decode_responses=True)的结果相同。

每当我试图在my_app容器中运行那个python脚本时,我就会得到:

代码语言:javascript
运行
复制
redis.exceptions.ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.

当我运行容器,然后检查docker ps时,我得到以下内容:

代码语言:javascript
运行
复制
$ docker ps
CONTAINER ID   IMAGE                          COMMAND                  CREATED              STATUS              PORTS                     NAMES
76aea9308821   mar-atlas-readings-processor   "python2"                About a minute ago   Up About a minute   0.0.0.0:64098->6379/tcp   mar-atlas-readings-processor
f313113341de   redis:3.2.4-alpine             "docker-entrypoint.s…"   About a minute ago   Up About a minute   6379/tcp                  redisdb

这显示了正确的端口连接。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-09 14:43:47

您的python应用程序试图在localhost上与Redis对话,但Redis容器位于另一个本地主机上。

您应该能够使用docker run ...命令(即redisdb )中为host选项配置的链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68318473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档