Tag: rabbitmq

运行dockerfile时,rabbitmq设置不会保留

我有任何我想要的应用程序: 运行rabbitmq-server 设置一些队列和交stream(我有一个setuprabbit.py脚本) 然后运行一些脚本(这是在主pipe完成)…但在此之前,我必须build立兔子 我的Dockerfile看起来像这样: RUN cd /var && wget -q http://www.rabbitmq.com/releases/rabbitmq-server/v2.8.2/rabbitmq-server-generic-unix-2.8.2.tar.gz RUN cd /var && tar -xzvf rabbitmq-server-generic-unix-2.8.2.tar.gz && rm rabbitmq-server-generic-unix-2.8.2.tar.gz ENV PATH /var/rabbitmq_server-2.8.2/sbin/:$PATH RUN rabbitmq-plugins enable rabbitmq_management && rabbitmq-server -detached && sleep 5 && cd /tmp/ && rabbitmqctl start_app && python buzz/scripts/setuprabbit.py #RUN rabbitmq-server -detached && sleep 5 && cd /tmp/ && rabbitmqctl […]

如何将在boot2docker中运行的Docker容器连接到在另一个主机上运行的networking服务?

我正在使用Windows 7(SP1)64位机器上的最新版本的boot2docker版本1.3.2,495c19a。 我的docker容器正在运行一个芹菜过程,它试图连接到运行boot2docker的同一台机器上运行的rabbitMQ服务。 在Docker容器中运行的Celery进程无法连接到RabbitMQ并报告以下内容: [2014-12-02 10:28:41,141:ERROR / MainProcess] consumer:无法连接到amqp:// guest:** @ 127.0.0.1:5672//:[Errno 111]连接被拒绝。 在2.00秒内再次尝试… 我有理由相信这是与从容器到VirtualBox主机,从主机到在本地机器上运行的RabbitMQ服务的路由相关的networking相关问题; 我不知道如何configuration这个,我想知道是否有人可以告诉我如何进行? 我尝试设置端口转发端口5672,但它没有工作(但我相信这是传入虚拟机的stream量,如boot2docker ssh)。 我正在运行容器作为docker运行-i -t标记名 我运行容器时没有用-h指定主机。 我很抱歉,如果这个问题显得相当无知,或者如果答案显而易见…我感谢任何帮助! 一些额外的信息: 主机VM的路由表是安装过程中configuration的boot2docker,如下所示: docker0 IP地址是172.17.42.1 eth0 IP地址是10.0.2.15 eth1 IP地址是192.168.59.103 eth0连接到VirtualBox VMnetworkingconfiguration中的NAT(适配器1)。 适配器1具有用于ssh的端口转发设置; 主机IP默认设置为127.0.0.1,主机端口2022,访客端口22。 eth1连接到仅主机适配器(适配器2)。 两个适配器都设置为混杂模式(全部允许)。 Docker容器的IP地址是172.17.0.33。

消费者:无法连接到amqp://用户:** @ localhost:5672 //:连接被拒绝

我正在尝试使用docker和rabbitMQ来build立我的气stream。 我正在使用rabbitmq:3pipe理图像。 我可以访问rabbitMQ UI和API。 在气stream中,我build立了气streamwebserver,气stream调度器,气stream工作者和气stream花。 Airflow.cfg文件用于configuration气stream。 我在哪里使用broker_url = amqp://user:password@127.0.0.1:5672/和celery_result_backend = amqp://user:password@127.0.0.1:5672/ 我的docker撰写文件如下 version: '3' services: rabbit1: image: "rabbitmq:3-management" hostname: "rabbit1" environment: RABBITMQ_ERLANG_COOKIE: "SWQOKODSQALRPCLNMEQG" RABBITMQ_DEFAULT_USER: "user" RABBITMQ_DEFAULT_PASS: "password" RABBITMQ_DEFAULT_VHOST: "/" ports: – "5672:5672" – "15672:15672" labels: NAME: "rabbitmq1" webserver: build: "airflow/" hostname: "webserver" restart: always environment: – EXECUTOR=Celery ports: – "8080:8080" depends_on: – rabbit1 command: webserver […]

如何从docker run命令通过主pipe环境variables

我试图从docker运行命令通过监督员varibale,所以它可以执行一个脚本与variables值。 我们需要在运行时进行设置,以便每个开发人员都可以在rabbitmq中拥有自己的队列,这样在testing过程中我们不会破坏其他队列。 Docker运行命令: docker run -i -p 5672:5672 -p 9200:9200 -p 9300:9300 -p 9001:9001 -p 15672:15672 -e "PARENT_HOSTNAME=MACHINED58" –rm –name shovel -t dtwill/blkmesa:shovel dockerCMD声明(在看文档后,我知道为什么错误发生不能提供一个arbritrary帕姆http://supervisord.org/running.html ): CMD /usr/bin/supervisord 主pipeconfiguration: [program:update_rabbit_config] command=/src/update_rabbit_config.sh redirect_stderr=true priority=200 startsecs=3 脚本主pipe运行: machineName=$PARENT_HOSTNAME echo machine name = $machineName sed -i .bak "s/|machine|/'$machineName'/" /etc/rabbitmq/rabbitmq.config 这是错误的: INFO exited: update_rabbit_config (exit status 1; not expected) …所以如果有人知道如何做到这一点,我会很感激,当我开悟的时候会做一个快乐的舞蹈。 […]

服务器重启后自动重新连接到RabbitMQ集群

我有RabbitMQ的主从configuration。 作为两个Docker容器,具有dynamic内部IP(每次重新启动时都会更改)。 集群在干净的运行中工作正常,但是如果其中一台服务器重新启动,它将无法重新连接到集群: rabbitmqctl join_cluster –ram rabbit@master Clustering node 'rabbit@slave' with 'rabbit@master' … Error: {ok,already_member} 和以下: rabbitmqctl cluster_status Cluster status of node 'rabbit@slave' … [{nodes,[{disc,['rabbit@slave']}]}] 说该节点不在一个集群中。 只有这样,我发现它删除此节点,然后才尝试重新join群集,如: rabbitmqctl -n rabbit@master forget_cluster_node rabbit@slave rabbitmqctl join_cluster –ram rabbit@master 这有效,但对我来说并不好看。 我相信应该有更好的方式来重新join集群,而不是忘记和重新join。 我看到有一个命令update_cluster_nodes也,但似乎这个东西不同,不知道是否可以帮助。 集装箱重启时重新join集群的正确方法是什么?

阻止到其中一个docker群服务任务容器的stream量

RabbitMQ服务在全局模式下部署有3个不同的vms。 我的目标是阻止stream量到一个RabbitMQ服务容器。 尝试使用iptables来重现RabbitMQnetworking分区scheme 通过添加iptables链 iptables -A DOCKER-INGRESS -d 10.255.0.33 -p tcp –dport amqp -m state –state ESTABLISHED,RELATED -j DROP 在运行RabbitMQ服务任务容器的2个docker节点上。 10.255.0.33是来自docker service inspect输出的来自群集覆盖networking的容器的IP。 虽然,stream量仍然通过,networking分区不复制。 如何阻止stream量正确地服务于容器?

docker工rabbitmq在启动过程中崩溃

开始(docker运行)rabbitmq图像导致崩溃。 startup_err的内容: Crash dump was written to: erl_crash.dump init terminating in do_boot () startup_log BOOT FAILED =========== Error description: {error,{cannot_create_mnesia_dir,"/var/lib/rabbitmq/mnesia/rabbit@localhost/", eacces}} Log files (may contain more information): /var/log/rabbitmq/rabbit@localhost.log /var/log/rabbitmq/rabbit@localhost-sasl.log Stack trace: [{rabbit_mnesia,ensure_mnesia_dir,0, [{file,"src/rabbit_mnesia.erl"},{line,472}]}, {rabbit_node_monitor,prepare_cluster_status_files,0, [{file,"src/rabbit_node_monitor.erl"},{line,99}]}, {rabbit,'-boot/0-fun-1-',0,[{file,"src/rabbit.erl"},{line,326}]}, {rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,354}]}, {init,start_it,1,[]}, {init,start_em,1,[]}] {"init terminating in do_boot",{rabbit,failure_during_boot,{error, {cannot_create_mnesia_dir,"/var/lib/rabbitmq/mnesia/rabbit@localhost/",eacces}}}} 这里是Dockerfile的rabbitmq部分: RUN apt-get install rabbitmq-server -y ENV RABBITMQ_CONFIG_FILE /etc/rabbitmq/rabbitmq ADD rabbitmq.config […]

Dockerconfiguration:Celery + RabbitMQ

如何在docker集装箱中运行Celery和RabbitMQ? 你能指点我示例docker文件或撰写文件? 这是我的: Dockerfile: FROM python:3.4 ENV PYTHONBUFFERED 1 WORKDIR /tasker ADD requirements.txt /tasker/ RUN pip install -r requirements.txt ADD . /tasker/ 泊坞窗,compose.yml rabbitmq: image: tutum/rabbitmq environment: – RABBITMQ_PASS=mypass ports: – "5672:5672" – "15672:15672" celery: build: . command: celery worker –app=tasker.tasks volumes: – .:/tasker links: – rabbitmq:rabbit 我遇到的问题是我不能让芹菜活着或跑步。 它不断退出。

从一个Docker容器连接到另一个

我想在一个docker容器中运行rabbitmq-server并使用芹菜( http://celeryproject.org/ )从另一个容器连接到它。 我使用下面的命令运行rabbitmq … sudo docker run -d -p :5672 markellul/rabbitmq /usr/sbin/rabbitmq-server 并通过芹菜运行 sudo docker run -i -t markellul/celery /bin/bash 当我试图做非常基本的教程来validationhttp://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html上的连接 我得到一个连接拒绝错误: 消费者:无法连接到amqp://guest@127.0.0.1:5672 //:[Errno 111]连接被拒绝。 当我在芹菜相同的容器上安装rabbitmq,它工作正常。 我需要做什么才能使容器互相交互?

作为docker集装箱运行的Celery&RabbitMQ:收到types为'…'的未注册任务

我对docker,芹菜和rabbitMQ比较陌生。 在我们的项目中,我们目前有以下设置:1个物理主机,运行多个docker容器: 1x rabbitmq:3pipe理容器 # pull image from docker hub and install docker pull rabbitmq:3-management # run docker image docker run -d -e RABBITMQ_NODENAME=my-rabbit –name some-rabbit -p 8080:15672 -p 5672:5672 rabbitmq:3-management 1个芹菜容器 # pull docker image from docker hub docker pull celery # run celery container docker run –link some-rabbit:rabbit –name some-celery -d celery (有更多的容器,但他们不应该对问题做任何事情) […]