【问题标题】:docker compose application unable to see redis serverdocker compose 应用程序无法看到 redis 服务器
【发布时间】:2017-05-15 09:43:50
【问题描述】:

我正在尝试使用 docker 安装 3 个应用程序。其中一个是flask web 应用程序,另一个是redis 服务器,另一个是celery 应用程序,它将通过redis 与flask 通信。 现在前 2 个似乎没有任何问题,但是对于烧瓶应用程序,我收到了这个错误:

celery_1 以代码 1 退出

我的 docker-compose.yml 文件如下所示:

version: '2'
services:
  redis:
    image: "redis:alpine"
  web:
    build: .
    ports:
     - "7998:7998"
    command: "gunicorn -b 0.0.0.0:7998 --log-level TRACE common_apps:app"
  celery:
    build: .
    command: "celery -A common_apps.celery_app worker"

如果我切掉 celery 部分并单独启动它,我得到的错误消息是无法找到 redis 主机(但这可能是因为主机名 redis 只存在于 docker-compose 上下文中)

对这里的问题有什么想法吗? 非常感谢

【问题讨论】:

    标签: python docker celery docker-compose


    【解决方案1】:

    问题是 .env 文件被忽略了。在我将值从 .env 文件移动到 docker-compose.yml 文件后,应用程序开始按预期工作

    【讨论】: