Tag: docker rabbitmq

如何使用其他容器可以使用的主机名创buildDocker容器?

所以我用下面的命令为RabbitMq创build了一个容器。 docker run -d –hostname my-rabbit –name some-rabbit rabbitmq:3-management 哪个工作正常,但我然后用下面的命令创build另一个容器 docker run test . 这运行一个PHP文件的容器,试图连接到主机名,我的兔子,但它不能find它的主机,所以PHP只是马上自己closures。 然而,我确实find了my-rabbit(第一个容器)的IP,并用IPreplace了我的PHP代码中的主机名(my-rabbit),并且没有任何问题。 那么如何为RabbitMq创build一个主机名,以便同一networking上的所有其他容器可以看到并使用IP而不是IP?

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

我正在学习这个教程。 在那里,我需要将RabbitMQ IP地址设置为我的Celery设置。 我在docker-compose.yml中有三个容器:NGINX,Django + Celery和RabbitMQ。 这些都是用docker-compose up 。 但是,我需要在不同的容器中有celery.py的RabbitMQ IP地址。 通过Google, docker-machine ip <container>应该是解决scheme。 但是, docker-machine只能运行容器AFAIK。 那么,如何将容器IP地址传递到同一个docker-compose.yml文件中的另一个容器? 在这种情况下,我想要我的RabbitMQ IP地址。

socket.gaierror gaierror:名称或服务未知 – pika rabbitMQ

我试图从托pipe在localhost:5000上的python服务器发送消息到RabbitMQ服务器(使用RabbitMQ的docker镜像),但是出现以下错误: socket.gaierror gaierror:[Errno -2]名称或服务未知 我正在使用命令运行RabbitMQ的docker镜像,其中“rabbithost”是我正在使用的主机名: sudo docker run -d –hostname rabbithost –name rabbitmq -p 15672:15672 -p 5672:5672 -p 5671:5671 rabbitmq:3-management 这里是给出错误的Python代码: def send_to_queue(message): credentials = pika.PlainCredentials('guest', 'guest') parameters = pika.ConnectionParameters('rabbithost', 5672, '/', credentials) connection = pika.BlockingConnection(parameters) channel = connection.channel() channel.queue_declare(queue='hello') channel.basic_publish(exchange='', routing_key='hello',body=message) connection.close() return "Message Sent! " 错误是在线: 连接= pika.BlockingConnection(参数) 主要是因为参数的参数。 我无法find此错误的确切解决scheme。

如何使用rabbitmq docker撰写yml文件来构builddocker镜像?

我是新来的docker工人,我知道如何拉动Ubuntu Linux的图像并运行它。 我只想尝试一下rabbitmq,网站上说我们可以使用像这样的docker docker-composer.yml文件: rabbitmq: image: rabbitmq:management ports: – "5672:5672" – "15672:15672" 我search了一段时间,但只发现YAML相关网站谈论如何编写一个复杂的YAML文件。 但我的问题是,如何使用这个YAML文件来build立/撰写rabbitmq的任何docker镜像,以便我可以开始使用它?

在使用RabbitMQ的AWS上的Docker使用者

我有我的应用程序的大部分devise和部署。 由于以下几个原因,我们已经把RabbitMQ用于SQS了。 我目前有我的消费者运行在docker集装箱,并希望部署在AWS 。 我对Elastic Beanstalk 非常熟悉,因为我们的Web层在那里运行,但似乎所有以这种方式部署的工作人员都必须使用SQS ? 我知道的另一个选项是使用ECS的docker组件,但我不想公开的图像,并没有访问私人存储库。 是否有一些我缺less的基本function,描述如何在本地使用Dockerfile和源代码部署到ECS的文档,还是使用Dockerfile部署到EB而不locking到SQS的方式? 编辑 所以我find了关于EB 文档的说明,说当构build一个多容器的环境时不支持Dockerfiles ,并且目前必须使用这个版本库,所以EB对我来说是Dockerfiles 。

如何启用RabbitMQ Docker容器的集群

尝试使用官方RabbitMQ Docker镜像启用群集时遇到问题 – https://hub.docker.com/_/rabbitmq/ 。 我正在使用docker-compose来启动我的基础架构,并且我无法获得“slave”节点来join群集。 当我在rabbitmqctl cluster_status上运行rabbitmqctl cluster_status时,从站没有列出。 以下是rabbitmqctl cluster_status的输出: $ docker-compose exec master-rabbitmq bash root@master-rabbitmq:/# rabbitmqctl cluster_status Cluster status of node 'rabbit@master-rabbitmq' … [{nodes,[{disc,['rabbit@master-rabbitmq']}]}, {running_nodes,['rabbit@master-rabbitmq']}, {cluster_name,<<"rabbit@master-rabbitmq">>}, {partitions,[]}, {alarms,[{'rabbit@master-rabbitmq',[]}]}] 下面列出了我docker-compose.yml ,以供参考。 version: "2" services: master-rabbitmq: image: rabbitmq:3-management hostname: master-rabbitmq environment: – RABBITMQ_ERLANG_COOKIE=super secret token ports: – "4369:4369" – "5671:5671" – "5672:5672" – "15671:15671" – […]

在Docker容器中使用Pika在Python中运行RabbitMQ的问题

我正尝试从交易所消费。 我正在遵循本指南: 在rabbitmq.com上 。 创build交换,但它不会消耗任何我通过网页pipe理页面手动发布。 这是我的代码: # external libs import pika def receive(mq_addr, exchange): print('receive message begin, consume from:', exchange, 'at', mq_addr) connection = pika.BlockingConnection(pika.ConnectionParameters(host=mq_addr)) channel = connection.channel() channel.exchange_declare(exchange=exchange, type='fanout') result = channel.queue_declare(exclusive=True) queue_name = result.method.queue channel.queue_bind(exchange=exchange, queue=queue_name) print(' [*] Waiting for logs. To exit press CTRL+C') def callback(ch, method, properties, body): print(" [x] %r" […]

Docker / Django / Celery / RabbitMQ执行已删除代码的旧版本

我正在docker中运行我的Django应用程序。 我正在使用一个后台作业以及与Celery + RabbitMQ的定期工作,在主应用程序的独立容器中运行。 一切工作与“heroku本地”本地。 在Digital Ocean的Ubuntu实例上运行我的应用程序时,我注意到后台任务和定期任务正在执行我的代码的旧版本。 具体来说,我上个星期从我的Django模型中删除了一个字段,旧的代码引用了这个删除的字段,所以发生错误。 但是,我的新代码不再提及缺less的字段。 以下是我尝试的一些事情: 重build和重新启动泊坞窗(没有工作) 删除所有的.pyc文件(没有工作) 清除所有的芹菜任务(没有工作) 重新启动我的数字海洋实例(没有工作) 将我所有的代码和docker环境转移到全新的数字海洋实例。 (这工作!) 我现在已经遇到了两次这样的问题,而且我希望find一个比每次发生这个错误时都要换一台新机器更好的解决scheme。 我猜测,芹菜或RabbitMQcaching了旧的代码,我不知道的地方。 提前致谢! 与此相关,但没有解决scheme为我工作: Celery / Rabbitmq / Django – 旧任务正在执行,而不被称为我的代码

Docker,Haproxy,RabbitMQ

我有一个在3节点rabbitmq集群前面的haproxy docker实例。 我是同一个Docker群体,我有一个Springboot微服务,通过代理访问队列。 如果我让所有的东西都自己出现,那么微服务就不断地尝试连接到rabbitmq而不能。 如果我重新启动haproxy泊坞窗容器,当它出现一切都很好。 这使得它看起来像1)如果Haproxy不能连接到rabbitmq服务器,因为他们不起来,它不会最终连接到他们,当他们 或2)尝试通过haproxy连接失败后,重新启动haproxy使他们再次尝试并成功。 对我来说都没有意义。 当然,如果haproxy正在寻找3台服务器,但有一台服务器出现故障,当它恢复运行时,它最终会将其拉入循环赛? 任何人都可以解释什么(可能)发生?

我如何设置一个简单的dockerized RabbitMQ集群?

我一直在做一些关于设置一个dockerized RabbitMQ集群的书籍,谷歌在同一台机器上发布了各种各样的结果。 我试图在多台机器上设置一个RabbitMQ集群。 我有三台名为dockerswarmmodemaster1 , dockerswarmmodemaster2和dockerswarmmodemaster3 在第一台机器上(dockerswarmmodemaster1),我发出以下命令: docker run -d -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 -p 15672:15672 \ -p 25672:25672 –hostname dockerswarmmodemaster1 –name roger_rabbit \ -e RABBITMQ_ERLANG_COOKIE='secret cookie here' rabbitmq:3-management 现在这个启动一个rabbitMQ就好了,我可以去15672的pipe理页面看看它是否按预期工作。 然后,我SSH到我的第二台机器(dockerswarmmodemaster2),这是我坚持的一点。 我一直在尝试以下命令的变体: docker run -d -p 4369:4369 -p 5671:5671 -p 5672:5672 -p 15671:15671 \ -p 15672:15672 -p 25672:25672 –name jessica_rabbit -e […]