繁体   English   中英

如何获取从另一个容器(Docker Compose)运行的RabbitMQ的IP地址?

[英]How can I get the IP address of RabbitMQ running from another container (Docker Compose)?

我正在关注教程。 在这里,我需要将RabbitMQ IP地址设置为我的Celery设置。

我的docker-compose.yml中有三个容器:NGINX,Django + Celery和RabbitMQ。 这些都与docker-compose up一起运行。 但是,我需要在不同的容器中拥有celery.py的RabbitMQ IP地址。

通过Google查看, docker-machine ip <container>应该是解决方案。 但是, docker-machine仅适用于运行容器AFAIK。 那么,如何将容器IP地址传递到同一docker-compose.yml文件中的另一个容器? 在这种情况下,我想要我的RabbitMQ IP地址。

您不需要传递IP。 docker-compose.yml为这些服务添加link配置,然后按服务名称引用容器。

services:
  rabbitmq:
    # other config here
  celery:
    # other config ...
    link:
      - rabbitmq

然后,您可以将Celery配置为使用名称Rabbitmq连接。 因此,您的BROKER_URL设置为amqp://user:pass@rabbitmq:5672/queue_name

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM