如何用dokku和烧瓶连接redis?

时间:2015-07-23 14:55:35

标签: flask redis dokku

我想用dokku和烧瓶使用redis。第一个问题是安装当前版本的dokku,我现在使用repo的最新版本。

Flask调试器中显示第二个问题:

redis.exceptions.ConnectionError
ConnectionError: Error 111 connecting to None:6379. Connection refused.

我在Flask中设置了redis url和port:

app.config['REDIS_URL'] = 'IP:32768'                                                                                         

- - - - >检查Redis的状态     远程:找到图像redis / landing     remote:检查状态...已停止。     远程:启动redis /登陆......命令:docker run -v /home/dokku/.redis/volume-landing:/var/lib/redis -p 6379 -d redis / landing /bin/start_redis.sh     ----->设置配置变量            REDIS_URL:redis:// IP:6379            REDIS_IP:知识产权            REDIS_PORT:6379

有什么想法吗? REDIS_URL应该以不同的方式设置?

此代码在localhost中正常工作: https://github.com/kwikiel/bounce (['REDIS_IP'] ='172.17.0.13'设置为127.0.0.1)

当我尝试连接redis dokku时出现问题。

1 个答案:

答案 0 :(得分:0)

使用redis与烧瓶和dokku的步骤:

  1. 安装redis插件:

    cd / var / lib / dokku / plugins

    git clone https://github.com/ohardy/dokku-redis redis

    dokku plugins-install

  2. 将redis容器链接到应用程序容器

    dokku redis:创建[app容器名称]

  3. 您将收到有关您必须设置的环境变量的信息 - 例如:

       Host: 172.17.0.91
       Public port: 32771
    

    然后在Flask(或其他框架)中设置这些设置

    app.config['REDIS_URL'] =  'redis://172.17.0.91:6379' 
    app.config['REDIS_IP'] = '172.17.0.91'                                      
    app.config['REDIS_PORT'] = '6379'   
    

    与Flask应用程序一起使用的redis数据库的完整示例(Flask中的A / B测试):

    https://github.com/kwikiel/bounce