Tag: rabbitmq

尝试使用rabbitmq在Docker容器之间发送消息

我目前正在使用Java客户端试验Docker和rabbitmq,我试图弄清楚如何发送一个简单的消息,例如,在一个容器中持有Send类的第一个容器和运行rabbitmq服务器的第二个容器之间的“Hello world”然后到达持有Receive类的第三个容器。 任何人都可以帮助试图设置这个,如果这实际上不可能? 到目前为止,我所做的是在发送和接收容器上,我正在运行安装了Java的Ubuntu和内存中的Java客户端,并且我通过链接命令将这些链接链接到服务器容器。 在尝试运行任何一个类时,我都会遇到一些“无法连接”的错误,不知道如何解决。 如果任何人都可以帮助,这将是伟大的。 谢谢! *编辑 我试图从rabbitmq教程中运行简单的发送和接收类。 对于发送容器,我使用的是Dockerfile FROM ubuntu RUN apt-get update RUN apt-get install software-properties-common -y RUN add-apt-repository ppa:webupd8team/java -y RUN apt-get update RUN echo debconf shared/accepted-oracle-license-v1-1 select true | debconf-set-selections RUN apt-get install oracle-java8-installer -y RUN apt-get install oracle-java8-set-default ADD Send.class /usr/ ADD rabbitmq-java-client-bin-3.5.3.zip /usr/ 接收容器类似。 我正在启动rabbitmq服务器容器 docker run –name […]

如何在Docker中的Jessie上安装RabbitMQ-server?

我究竟做错了什么? $ docker run -it –rm debian:stable root@d59276cca29d:/# apt-get update … root@d59276cca29d:/# apt-get install -y rabbitmq-server … Setting up rabbitmq-server (3.3.5-1.1) … Adding group `rabbitmq' (GID 110) … Done. Adding system user `rabbitmq' (UID 106) … Adding new user `rabbitmq' (UID 106) with group `rabbitmq' … Not creating home directory `/var/lib/rabbitmq'. invoke-rc.d: policy-rc.d denied execution […]

如何构build一个新的Docker镜像并启动容器

我是Docker的新手。 我想推动rabbitmq消息弹性。 现在我有两个logstash-indexer映像: ctdcto23:5000/logstash-indexer:latest和ctdcto23:5000/logstash-indexer:1.0.0-rc3 。 它们之间的差异是indexer.conf 。 前者是 input{ redis { host =>'' 端口=> key =>'' 密码=>'' data_type =>'list' tags => ['service-log'] } rabbitmq { host =>'' user =>'' 密码=>'' 端口=> 5672 队列=>“安全审计” exchage =>'exchange' key =>'安全审计' 耐用=>“真” } } 而后者省略rabbitmq。 yaml文件如下: Redis的: image:ctdcto23:5000 / redis:1.0.0-rc1 重新启动:总是 端口: – “6379:6379” elasticsearch: image:ctdcto23:5000 / elasticsearch:1.0.0-rc3 重新启动:总是 […]

在PCF中的Docker – 无法通过AMQP(spring cloud bus)连接到rabbitmq

我在玩Pivotal cloudfoundry和docker。 目前,我有一个春季启动应用程序,这是一个configuration服务器客户端连同spring的cloudbus。 如果我使用cf push demo-application target/my-jar-file.jar直接推送到PCF,这将cf push demo-application target/my-jar-file.jar 。 我现在正在尝试打包我的应用程序作为docker容器,并推入到PCF与cf push demo2 -o rraghur/demo 。 PCF创build一个容器并部署它 – 但spring的云端不起作用。 弹簧configuration确实工作,因为我在日志中看到以下内容 2016-11-30T22:23:58.771+05:30 [APP/0] [OUT] 2016-11-30 16:53:58.770 INFO 12 — [ main] cccConfigServicePropertySourceLocator : Fetching config from server at: https://config-67936b3e-1626-46b6-8117-480654f34e49.local.pcfdev.io 2016-11-30T22:24:00.588+05:30 [APP/0] [OUT] 2016-11-30 16:54:00.587 INFO 12 — [ main] cccConfigServicePropertySourceLocator : Located environment: name=demo-application, profiles=[production], […]

RabbitMQ集群如何识别Docker的容器重启?

我有三个复制容器在Swarm Mode服务中运行RabbitMQ。 每个容器充当RabbitMQ节点来创buildRabbitMQ集群。 docker service create为此docker service create如下: docker service create -e RABBITMQ_ERLANG_COOKIE='mysecretcookie' –replicas 4 –network rnet -p 15672:15672 -p 5672:5672 rabbitmq 此后,我可以在每个从节点上使用rabbitmqctl <hostname> join_cluster成功创build一个RabbitMQ集群。 我的问题是,如果一个swarm节点closures,Docker会在另一个节点上启动一个新的容器,但容器有一个不同的随机主机名。 由于RabbitMQ使用主机名来标识RabbitMQ群集节点,因此它无法识别新容器上的新主机名,因此它假定原始节点无限期closures。 我尝试在Docker 1.13中使用新的模板function,通过在–hostname="{{.Node.ID}}-{{.Service.Name}}" create中指定–hostname="{{.Node.ID}}-{{.Service.Name}}"来创build静态主机名。 但是,您目前无法根据此自定义主机名来发现容器,因此无法以此方式创buildRabbitMQ群集。 我希望在Docker开始运行一个新的容器后,能够让RabbitMQ自动重新join群集节点。 这可能吗?

芹菜如何发现新的节点?

我在Docker运行Celery和RabbitMQ Gunicorn。 我的问题是:我明白,芹菜是专为分布式处理。 我没有看到任何文档,假设我在同一局域网上有几台机器/节点,他们是如何发现彼此的? RabbitMQ扮演一个angular色吗? 芹菜实例是否发现彼此? 有没有合适的主机列表? 如果是这样,我该如何编辑它? 另外,假设我将只使用一个节点来处理HTTP请求,那么是否仍然需要在所有节点上运行gunicorn? 我这样问,是因为在起死回生的起动命令中,有一个工人数量的设置。 而且,该设置仅适用于该节点,还是作为所有连接节点的最大总数? 编辑:第一个答案后,我开始在这个工作。 似乎我需要某种networking设置,无论是群集还是桥接等。我应该澄清,我使用docker-compose来提出解决scheme,并且我看到正常的swarm设置不起作用,而且我如果我去那条路线,使用稍微不同的东西。 要明确一点:我需要一种方法,可以在不同的主机上添加芹菜工人,让他们能够与“主”主机进行通信,从而增加系统的能力。 如果有人可以提供一个清晰的过程来实现这个或这样的链接,这将是最有帮助的。 我希望我已经明确expression了,请让我知道如果您需要任何进一步的信息。 谢谢!

以Centos作为基础映像的Docker容器未运行

我已经使用下面的Docker文件为RabbitMQ创build了Docker容器,但是无法运行容器,它会自动停止。 Docker文件 FROM centos:centos7 RUN yum -y update RUN yum -y install wget RUN wget https://www.rabbitmq.com/releases/erlang/erlang-18.2-1.el6.x86_64.rpm RUN yum -y install erlang-18.2-1.el6.x86_64.rpm RUN wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el7.noarch.rpm RUN yum -y install rabbitmq-server-3.6.9-1.el7.noarch.rpm EXPOSE 15672 EXPOSE 5672 RUN rabbitmq-plugins enable rabbitmq_management CMD /usr/sbin/rabbitmq-server -detached Docker构build命令 docker build -t rabbit . Docker运行命令 docker run -d -p 15672:15672 rabbit 集装箱启动,但一秒钟后退出 提前致谢

docker中的rabbitmq的Spring Boot应用程序问题

我正在尝试使用rabbitmq构build一个由spring云stream驱动的事件驱动的微服务。 在我的情况下,rabbitmq正在docker中运行。 用于在容器下运行的Docker命令 docker run -d –hostname my-rabbit –name some-rabbit –publish 15672:15672 rabbitmq:3 然后去容器的bash模式,我在下面的命令中rabbitmq-plugins enable rabbitmq_management : rabbitmq-plugins enable rabbitmq_management以启动management-plugin CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b2bc315c44aa rabbitmq:3 "docker-entrypoint…" 7 minutes ago Up 7 minutes 4369/tcp, 5671-5672/tcp, 25672/tcp, 0.0.0.0:15672->15672/tcp some-rabbit 所以我可以通过localhost:15672浏览器访问localhost:15672 但是当我启动Spring Boot应用程序时,它并没有进行排队和交换。 请检查堆栈跟踪。 堆栈跟踪 osicodec.kryo.CompositeKryoRegistrar : configured Kryo registration [40, java.io.File] with […]

芹菜+ rabbitmq在Docker上

我试图按照这个教程如何在10分钟内用芹菜和RabbitMQbuild立docker集群 。 跟着教程,虽然我改变了以下文件。 我docker-compose.yml文件如下所示: version: '2' services: rabbit: hostname: rabbit image: rabbitmq environment: – RABBITMQ_DEFAULT_USER=user – RABBITMQ_DEFAULT_PASS=pass – HOSTNAME=rabbitmq – RABBITMQ_NODENAME=rabbitmq ports: – "5672:5672" # we forward this port because it's useful for debugging – "15672:15672" # here, we can access rabbitmq management plugin worker: build: context: . dockerfile: Dockerfile volumes: – .:/app links: – […]

在寻找已经删除的任务的docker工人的Django芹菜

我已经为django设置了我的celery应用程序,并且使用docker来运行它。 我曾经运行下面的CELERYBEAT_SCHEDULE代码 # define scheduled tasks here CELERYBEAT_SCHEDULE = { 'test-scheduler': { 'task': 'users.tasks.test_print', 'schedule': 10, # in seconds, or timedelta(seconds=10) }, } 而且,它工作正常。 后来,我改变了我的任务的名称,如下所示: # define scheduled tasks here CELERYBEAT_SCHEDULE = { 'handle-email': { 'task': 'users.tasks.handle_email_task', 'schedule': 10, # in seconds, or timedelta(seconds=10) }, } 但是,当我运行docker-compose up –build ,出现以下错误。 worker_1 | 2017-06-16T15:17:22.844376379Z KeyError: 'users.tasks.test_print' […]