rabbitmq - use rabbitmqadmin in docker -


================dockerfile1=================

from rabbitmq:3-management maintainer 123 "qyb1234@everbridge.com" run apt-get update env refershed_at 2015-07-20 run apt-get install -y python add rabbitmqadmin /usr/local/bin/rabbitmqadmin run chmod 755 /usr/local/bin/rabbitmqadmin run service rabbitmq-server start && /usr/local/bin/rabbitmqadmin declare queue name=my-new-queue durable=true && service rabbitmq-server stop  run rabbitmq-plugins enable --offline rabbitmq_management expose 15672 cmd rabbitmq-server 

==============dockerfile2===================

from rabbitmq:3-management maintainer 123 "qyb1234@gmail.com" run apt-get update env refershed_at 2015-07-20 run apt-get install -y python add rabbitmqadmin /usr/local/bin/rabbitmqadmin run chmod 755 /usr/local/bin/rabbitmqadmin run rabbitmq-plugins enable --offline rabbitmq_management expose 15672 cmd service rabbitmq-server start && /usr/local/bin/rabbitmqadmin declare queue name=my-new-queue durable=true && service rabbitmq-server stop && rabbitmq-server 

the queue didn't declared when use dockerfile1, dockerfile2 works.what's difference between dockerfile1 , dockerfile2?

yes , there difference in dockerfile1 , dockerfile2 . exposing port 15672 before queue creation in dockerfile2 , exposing after queue command in dockerfile1. rabbitmqadmin use http api create queue , exchange etc. if apply command

curl -u guest:guest -xget http://localhost:15672/api/queues 

you list of queues if apply command :

curl -i -u guest:guest -h "content-type:application/json" \   -xput -d'{"type":"direct","durable":true}' \  http://localhost:15672/api/exchanges/%2f/my-new-exchange 

it create new exchange my-new-exchange. without exposing port how able create queue ? . more info can go through manual of rabbitmq. http://hg.rabbitmq.com/rabbitmq-management/raw-file/3646dee55e02/priv/www-api/help.html


Comments