redis.exceptions.ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address
redis.exceptions.ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address
知道为什么我在尝试 运行 从一个容器到另一个容器的 redis 命令时收到连接错误吗?
我正在尝试在本地 运行 一个旧的 python 2.7 lambda,以便在升级到 3.8.10 之前进行测试
我正在 运行 构建一个脚本并将 redisdb 容器与 my_app 容器链接:
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 脚本:
r = redis.Redis()
r.mset({"Bahamas": "Nassau"})
print(r.get("Bahamas"))
我也在这里尝试了最重要的建议: 并通过了 r = redis.Redis(host='localhost', port=6379, decode_responses=True)
,结果相同。
每次我尝试 运行 my_app 容器中的 python 脚本时,我得到:
redis.exceptions.ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.
当我 运行 容器然后检查 docker ps
我得到这个:
$ 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
这显示了正确的端口连接。
您的 python 应用正在尝试与本地主机上的 Redis 通信,但 Redis 容器位于不同的本地主机上。
您应该能够使用 docker run ...
命令中配置的 link,即 redisdb
,用于 host
选项。
知道为什么我在尝试 运行 从一个容器到另一个容器的 redis 命令时收到连接错误吗? 我正在尝试在本地 运行 一个旧的 python 2.7 lambda,以便在升级到 3.8.10 之前进行测试 我正在 运行 构建一个脚本并将 redisdb 容器与 my_app 容器链接:
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 脚本:
r = redis.Redis()
r.mset({"Bahamas": "Nassau"})
print(r.get("Bahamas"))
我也在这里尝试了最重要的建议:r = redis.Redis(host='localhost', port=6379, decode_responses=True)
,结果相同。
每次我尝试 运行 my_app 容器中的 python 脚本时,我得到:
redis.exceptions.ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.
当我 运行 容器然后检查 docker ps
我得到这个:
$ 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
这显示了正确的端口连接。
您的 python 应用正在尝试与本地主机上的 Redis 通信,但 Redis 容器位于不同的本地主机上。
您应该能够使用 docker run ...
命令中配置的 link,即 redisdb
,用于 host
选项。