使用容器时如何使用 flask-session 将 redis 设置为缓存?

How to setup redis as cache with flask-session when working with containers?

我正在尝试使用 docker 部署一个 flaskapp,所以我有两个容器,一个用于我的 flaskapp,另一个用于 redis。我已经设置了一个网络并在其中执行了两个。访问我的 flaskapp 时出现以下错误:

ConnectionError: Error 99 connecting to localhost:6379. Cannot assign requested address.

发生这种情况是因为我将 redis 用作 flask-session 的缓存,并且我将 redis 托管在一个名为 exampleredis 的容器中。

我的问题是:如何在 Flask 中将 redis 主机设置为 exampleredis?

我有以下配置文件:

class DevConfig(Config):
    REDIS_HOST = 'exampleredis'
    SESSION_TYPE = 'redis'
    JSONIFY_PRETTYPRINT_REGULAR = False
    JSON_SORT_KEYS = False
    BCRYPT_LOG_ROUNDS = 15
    DEBUG = True

根据 document of flask-session,这应该可行:

import redis

class DevConfig(Config):
    SESSION_REDIS = redis.from_url('redis://exampleredis:6379')
    SESSION_TYPE = 'redis'
    ...