我正在使用部署在docker容器中的pika + rabbitMQ,为我目前正在开发的分布式系统提供消息传递基础架构。
我已经安装了相关的软件等但是,我需要一种方法来为我的RabbitMQ服务添加一个静态IP地址(参见下面的代码片段) - 但似乎无法做到 - 而且似乎这样是not an easy thing to do (or might even be impossible to do)。
我需要一个静态IP地址,以便下面的代码可以正常工作。
connection = pika.BlockingConnection(pika.ConnectionParameters(host =' 172.17.0.2'))
如果真的无法将静态地址粘贴到正在运行的容器上 - 也许有一种方法可以查询docker(我想我会记得看到inspect
命令的一个标志,它允许用户检索IP消息容器/服务的地址,然后我可以通过shell脚本传递给生产者/消费者。
话虽如此,后一种方法对于重启(消息传递机器)等并不健壮,所以如果可能的话,我宁愿选择静态IP解决方案。