首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的芹菜Docker连接不上Redis?

问为什么我的芹菜Docker连接不上Redis?
EN

Stack Overflow用户
提问于 2019-07-27 06:20:40
回答 1查看 60关注 0票数 0

我有一个运行芹菜的Docker实例,它是这样构建的:

docker build -t <me>/celery-imagemagick -f docker/celeryDockerFile .

然后我像这样运行它:

docker run --env-file ./docker/env --rm spaceofmotion/celery-imagemagick。

环境文件中有一些配置,包括以本地redis-server为目标的代理urls。

CELERY_BROKER_URL=redis://192.168.86.23:6379/0 CELERY_RESULT_BACKEND=redis://192.168.86.23:6379/0

上面的设置是为了现在的本地测试。它会进入一种状态,启动celery并四处寻找redis,结果却无法连接到以下错误:

consumer: Cannot connect to redis://192.168.86.23:6379/0: Error 111 connecting to 192.168.86.23:6379. Connection refused..

如果我将ip地址更改为localhost,则可以预见它无法找到服务器。然而,如果我只是在没有Docker的情况下通过执行celery worker -A path.to.celery --loglevel=info在本地运行所有这些,那么一切都可以很好地工作。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2019-07-27 07:20:26

默认情况下,Docker容器不会在主机网络(192.168.x.x)上运行。如果你在Linux机器上,你可以使用Docker host networking。

在这种情况下,您还可以添加端口映射。试试这个:

docker run -p 192.168.86.23:6379:6379 ...

这会将本地Redis端口映射到Celery容器中的localhost:6379。https://docs.docker.com/config/containers/container-networking/#published-ports有更多报道。

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

https://stackoverflow.com/questions/57227593

复制
相关文章

相似问题

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