Tag: rabbitmq

如何防止在Dockerfile的中间步骤中丢失RabbitMQ设置?

我试图创build一个Dockerfile来运行RabbitMQ与预定义的用户,但在Dockerfile构build步骤中,设置丢失。 这是我的Dockerfile: FROM rabbitmq:management # Set node name to try to avoid settings being lost during intermediate containers creation RUN echo "NODENAME=rabbit@localhost" > /etc/rabbitmq/rabbitmq-env.conf # Start server in intermediate container and configure user RUN rabbitmq-server -detached \ && sleep 5 \ && rabbitmqctl add_user test test \ && rabbitmqctl set_user_tags test management \ && rabbitmqctl […]

无法将Celery服务器连接到本地主机上的RabbitMQ

我使用Celery和RabbitMQ作为消息队列,每个封装在它自己的Docker镜像中。 当它们在Docker中使用–link参数连接时,一切正常。 我已经有这个设置工作一段时间了。 我想将它们分开,以便它们在不同的主机上运行,​​所以我不能再使用–link参数。 我越来越gaierror: [Errno -2] Name or service not known当我尝试连接使用AMQP,不明白为什么。 服务器只是使用rabbitmq上的rabbitmq容器: docker run –rm –name=qrabbit -p 5672:5672 rabbitmq 我可以成功地telnet到这个: $ telnet 192.168.99.100 5672 Trying 192.168.99.100… Connected to 192.168.99.100. Escape character is '^]'. abc ^D AMQP Connection closed by foreign host. $ …所以我知道服务器正在运行。 我的客户看起来像这样: import os from logging import getLogger, StreamHandler, DEBUG from serverlib […]

将RabbitMQ的策略设置为Dockerfile进程的一部分

我正在尝试使用定制的策略集来创build基于RabbitMQ存储库的Dockerfile。 问题是我不能使用CMD或ENTRYPOINT因为它会覆盖基本的Dockerfile,然后我必须拿出我自己的,我不想走这条路。 更不用说,如果我不使用RUN ,它将是运行时命令的一部分,我希望它被包含在图像中,而不仅仅是容器。 我能做的其他事情是使用RUN命令,但问题是RabbitMQ服务器没有在构build时运行,也没有–offline标志为rabbitmqctl程序的set_policy命令。 当我使用docker的RUN命令来设置策略时,这里是我面对的错误: Error: unable to connect to node rabbit@e06f5a03fe1f: nodedown DIAGNOSTICS =========== attempted to contact: [rabbit@e06f5a03fe1f] rabbit@e06f5a03fe1f: * connected to epmd (port 4369) on e06f5a03fe1f * epmd reports: node 'rabbit' not running at all no other nodes on e06f5a03fe1f * suggestion: start the node current node details: – node name: 'rabbitmq-cli-136@e06f5a03fe1f' […]

pika.BlockingConnection()在容器内失败,在VM中运行良好

我正在尝试在我的容器中使用rabbitmq。 我安装了所需的库,然后尝试创buildBlockingConnection,但失败。 当我在任何虚拟机或物理主机上尝试时,同样的事情是有效的。 它只有容器失败。 这里是步骤: 安装所需的软件包: – $ docker run -it ubuntu:15.10 /bin/bash root@d3d44e2656a9# root@d3d44e2656a9# sudo apt-get -y install python-pip rabbitmq-server wget \ && pip install pika 接下来,我尝试创build一个BlockingConnection,但是失败。 同样的事情在虚拟机上工作。 root@d3d44e2656a9# python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import pika >>> […]

Docker上的RabbitMQ:当更改erlang cookie时,权限被拒绝

我使用Kitematic来pipe理我的容器。 我在Docker上运行rabbitmq并运行。 问题是当我configuration它的音量。 每当我设置本地文件夹的音量(Kitematic),它将停止,启动,并打印以下错误: chown: changing ownership of '/var/lib/rabbitmq/.erlang.cookie': Permission denied 我如何解决这个问题?

socket.error:超时(在Docker容器中运行的Celery&RabbitMQ)

试图提出芹菜 (与RabbitMQ )官方docker集装箱。 docker run -d –hostname my-rabbit –name some-rabbit rabbitmq docker run –link some-rabbit:rabbit –name some-celery -d celery 我已经检查了日志,以确保一切正常。 # docker logs some-celery [2016-10-20 11:05:50,357: WARNING/MainProcess] /usr/local/lib/python3.5/site-packages/celery/apps/worker.py:161: CDeprecationWarning: Starting from version 3.2 Celery will refuse to accept pickle by default. The pickle serializer is a security concern as it may give attackers the ability […]

需要有关使用Dockersdevise应用程序和部署策略的体系结构的帮助

我首先解释一下我将要开发的应用程序。 我们在Camunda开发了以下一系列工作stream程: 像fetchImageAttributes,fetchFileAttributes等全局子stream程工作stream程… FileTransfer工作stream程。 FileConverter工作stream程。 FileTransfer工作stream程在Camunda的呼叫活动任务的帮助下使用全局子stream程,同样,FileConverter工作stream程也借助呼叫活动任务使用子stream程。 全局进程是一个长时间运行的进程,因此每当有subprocess启动时,它就会在特定的兔子队列中发送一个消息,并在特定的兔子队列中等待响应以恢复使用接收任务的subprocess。 FileTransfer工作stream程和FileConverter工作stream程可以独立调用。 我们在弹簧中创build了一个兔子队列列表器,它将监听各个工作stream的特定队列,并且无论何时在这些队列中放入消息,工作stream将被调用。 在开发过程中,所有三个工作stream程将在单个tomcat实例中部署和testing,因此工作stream程将毫无顾虑地工作。 现在计划将使用docker将它们托pipe到云端,计划将这三个工作stream程托pipe在3个docker容器中。 容器1将包含全局子stream程工作stream程。 容器2将包含FileTransfer工作stream程。 容器3将包含FileConverter工作stream程。 Camunda的三个工作stream程将使用相同的数据库来存储特定的工作stream程活动和variables。 面临的挑战: 由于文件传输工作stream和FileConverter工作stream都使用全局subprocess使用调用活动将失败,因为它们在相同的运行时引擎中不可用。 我们应该使用Camunda Rest服务吗? 为了克服上述挑战,我想到了部署计划2: 容器1将包含全局子stream程工作stream程和文件传输工作stream程。 容器2将包含全局子stream程工作stream程和文件转换器工作stream程。 面临的挑战: 由于全局子过程工作stream在两个容器中都存在,所以它们可能是FileConverter工作stream的响应可能被FileConverter工作stream拉取的场景,因为全局子过程正在两个容器中侦听相同的兔子队列,因此可能导致错误stream程实例将不会被find。 所以如果有人能够帮助我build立一个更好的架构,或者任何在camunda有良好经验并且在异构集群部署的人都可以指导我。 谢谢。

从另一个容器中的服务连接到rabbitmq泊坞窗容器

我做了很多search,但我无法解决这个问题。 我有一个基本的Rabbitmq容器通过这个命令运行: docker run -d –hostname rabbitmqhost –name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:3-management 我使用nameko创build一个连接到这个容器的微服务。 这是一个基本的微服务模块main.py : from nameko.rpc import rpc class Service_Name(object): name = "service_name" @rpc def service_endpoint(self, arg=None): logging.info('service_one endpoint, arg = %s', arg) 该服务运行并通过以下命令从我的主机连接到rabbitmq: nameko run main –broker amqp://guest:guest@localhost 我想把服务放到一个Docker容器(称为service_one )中,但是当我这样做并运行以前的nameko命令时,我得到了socket.error: [Errno 111] ECONNREFUSED不pipe我如何尝试并链接两个容器。 什么是正确的方法? 目的是让每个服务都在一个容器中,通过兔子互相交谈。 谢谢。

Docker RabbitMQ持久性

RabbitMQ在docker los数据删除容器后无卷 我的Dockerfile: FROM rabbitmq:3-management ENV RABBITMQ_HIPE_COMPILE 1 ENV RABBITMQ_ERLANG_COOKIE "123456" ENV RABBITMQ_DEFAULT_VHOST "123456" 我的运行脚本: IMAGE_NAME="service-rabbitmq" TAG="${REGISTRY_ADDRESS}/${IMAGE_NAME}:${VERSION}" echo $TAG docker rm -f $IMAGE_NAME docker run \ -itd \ -v "rabbitmq_log:/var/log/rabbitmq" \ -v "rabbitmq_data:/var/lib/rabbitmq" \ –name "service-rabbitmq" \ –dns=8.8.8.8 \ -p 8080:15672 \ $TAG 删除容器后,所有数据丢失。 如何在Docker中configuration持久数据的rabbitmq?

我无法连接到Rabbitmq服务器端口5672

用这个命令 php bin/console rabbitmq:consumer -w upload_picture 我有这个问题。 [ErrorException] stream_socket_client(): unable to connect to tcp://localhost:5672 (Aucune connexion n'a pu etre établie car l'ordinateur cible lÆa expressÚment refusée. 所以我无法连接到服务器rabbitmq config.yml old_sound_rabbit_mq: connections: default: host: 'localhost' # hostname and port of the rabbitmq server port: 5672 user: 'guest' password: 'guest' vhost: '/' lazy: true # a lazy connection […]