本文详细介绍了docker快速安装rabbitmq的方法和过程。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
一、获取镜像系统
#指定版本,该版本包括了web *** 纵网页页面 dockerpullrabbitmq:management二。 *** 作后视镜系统
#方法一:默认设置guest客户,登陆密码也是guest dockerrun-d--hostnamemy-rabbit--namerabbit-p15672:15672-p5672:5672rabbitmq:management #方法二:设定登录名和登陆密码 dockerrun-d--hostnamemy-rabbit--namerabbit-eRABBITMQ_DEFAULT_USER=user-eRABBITMQ_DEFAULT_PASS=password-p15672:15672-p5672:5672rabbitmq:management三。浏览用户界面页面
http://localhost:15672/
四。golang的示例
#producer经营者编码 packagemain import( "fmt" "log" "github.com/streadway/amqp" ) const( //AMQPURI uri="amqp://guest:guest@10.0.0.11:5672/"//10.0.0.11为主机ip //DurableAMQPexchangename exchangeName="" //DurableAMQPqueuename queueName="test-queues" //Bodyofmessage bodyMsgstring="helloangel" ) //假如存有不正确,则輸出 funcfailOnError(errerror,msgstring){ iferr!=nil{ log.Fatalf("%s:%s",msg,err) panic(fmt.Sprintf("%s:%s",msg,err)) } } funcmain(){ //启用公布信息涵数 publish(uri,exchangeName,queueName,bodyMsg) log.Printf("published�OK",len(bodyMsg)) } //上传者的方式 //@amqpURI,amqp的详细地址 //@exchange,exchange的名字 //@queue,queue的名字 //@body,行为主体內容 funcpublish(amqpURIstring,exchangestring,queuestring,bodystring){ //创建联接 log.Printf("dialing%q",amqpURI) connection,err:=amqp.Dial(amqpURI) failOnError(err,"FailedtoconnecttoRabbitMQ") deferconnection.Close() //建立一个Channel log.Printf("gotConnection,gettingChannel") channel,err:=connection.Channel() failOnError(err,"Failedtoopenachannel") deferchannel.Close() log.Printf("gotqueue,declaring%q",queue) //建立一个queue q,err:=channel.QueueDeclare( queueName,//name false,//durable false,//deletewhenunused false,//exclusive false,//no-wait nil,//arguments ) failOnError(err,"Failedtodeclareaqueue") log.Printf("declaredqueue,publishing�body(%q)",len(body),body) //Producer只有发送至exchange,它是不可以立即发送至queue的 //如今大家应用默认设置的exchange(姓名是空字符)这一默认设置的exchange容许大家发给指定的queue //routing_key便是指定的queue姓名 err=channel.Publish( exchange,//exchange q.Name,//routingkey false,//mandatory false,//immediate amqp.Publishing{ Headers:amqp.Table{}, ContentType:"text/plain", ContentEncoding:"", Body:[]byte(body), }) failOnError(err,"Failedtopublishamessage") }V.具有明确信息的代码
#producer packagemain import( "fmt" "github.com/streadway/amqp" "log" "os" "strings" ) const( //AMQPURI uri="amqp://guest:guest@10.0.0.11:5672/" //DurableAMQPexchangename exchangeName="" //DurableAMQPqueuename queueName="test-queues-acknowledgments" ) //假如存有不正确,则輸出 funcfailOnError(errerror,msgstring){ iferr!=nil{ log.Fatalf("%s:%s",msg,err) panic(fmt.Sprintf("%s:%s",msg,err)) } } funcmain(){ bodyMsg:=bodyFrom(os.Args) //启用公布信息涵数 publish(uri,exchangeName,queueName,bodyMsg) log.Printf("published�OK",len(bodyMsg)) } funcbodyFrom(args[]string)string{ varsstring if(len(args)<2)||os.Args[1]==""{ s="helloangel" }else{ s=strings.Join(args[1:],"") } returns } //上传者的方式 //@amqpURI,amqp的详细地址 //@exchange,exchange的名字 //@queue,queue的名字 //@body,行为主体內容 funcpublish(amqpURIstring,exchangestring,queuestring,bodystring){ //创建联接 log.Printf("dialing%q",amqpURI) connection,err:=amqp.Dial(amqpURI) failOnError(err,"FailedtoconnecttoRabbitMQ") deferconnection.Close() //建立一个Channel log.Printf("gotConnection,gettingChannel") channel,err:=connection.Channel() failOnError(err,"Failedtoopenachannel") deferchannel.Close() log.Printf("gotqueue,declaring%q",queue) //建立一个queue q,err:=channel.QueueDeclare( queueName,//name false,//durable false,//deletewhenunused false,//exclusive false,//no-wait nil,//arguments ) failOnError(err,"Failedtodeclareaqueue") log.Printf("declaredqueue,publishing�body(%q)",len(body),body) //Producer只有发送至exchange,它是不可以立即发送至queue的。 //如今大家应用默认设置的exchange(姓名是空字符)。这一默认设置的exchange容许大家发给指定的queue。 //routing_key便是指定的queue姓名。 err=channel.Publish( exchange,//exchange q.Name,//routingkey false,//mandatory false,//immediate amqp.Publishing{ Headers:amqp.Table{}, ContentType:"text/plain", ContentEncoding:"", Body:[]byte(body), }) failOnError(err,"Failedtopublishamessage") }至此,这篇关于docker快速安装rabbitmq的文章已经详细介绍到这里了。有关docker安装rabbitmq的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)