Docker部署rabbitmq

1、     准备docker环境:

# yum  -y  install  docker

# docker ps

@如果有输出

CONTAINER ID   IMAGE  COMMAND  CREATED                    PORTS      

证明已经安装完毕。

 

2、     部署外网环境

# docker  search  rabbitmq

 

letsxo/rabbitmq        RabbitMQ with Management and MQTT plugins.

@选择这一个,因为他又web管理和MQTT。

# docker  pull letsxo/rabbitmq

# docker images

 

letsxo/rabbitmq latest 93a7eefb0865 2 weeks ago         38.6MB

 

@接下来,根据下载的镜像创建rabbitmq容器

# docker run -d  -p 5671:5671 -p 5672:5672  -p 15672:15672 -p 15671:15671  -p 25672:25672  -v /data/rabbitmq-data/:/var/rabbitmq/lib  --name rabbitmq   93a7eefb0865

 

@ 93a7eefb0865 :是镜像的ID,此处也可以写镜像的名字:如letsxo/rabbitmq

 

@查看已经运行的容器:

# docker ps

 

@可以看到容器已经正常运行,此时可以通过访问本机的15672端口访问web管理端:http://本机ip:15672

 

3、     部署内网机器

@首先需要下载,rabbitmq的镜像,一是在网上直接下载(太慢了);二是直接找一台能上外网带docker环境的机器,使用docker pull下载。

# docker search  rabbitmq

# docker pull letsxo/rabbitmq

# docker images

letsxo/rabbitmq latest 93a7eefb0865 2 weeks ago         38.6MB

# docker save  93a7eefb0865 > rabbitmq.tar

 

@将rabbitmq.tar拷贝到内网服务器:

# scp –P port rabbitmq.tar  user@ip:path

如果是默认的22端口,-P就不用了。

在内网服务器上将拷贝来的rabbitmq.tar文件导入为镜像:

# docker load < rabbitmq.tar

 

@打标签:

# docker tag   93a7eefb0865  rabbitmq:cuishuai

@创建并运行容器:

# docker run -d  -p 5671:5671 -p 5672:5672  -p 15672:15672 -p 15671:15671  -p 25672:25672  -v /data/rabbitmq-data/:/var/rabbitmq/lib  --name rabbitmq   93a7eefb0865

 

! 93a7eefb0865 :是镜像的ID,此处也可以写镜像的名字:如letsxo/rabbitmq

 

4、     Web端配置rabbitmq:

@rabbitmq默认创建了guest/guest用户,使用此用户不安全。需要修改密码,及创建新的用户。

1)登陆后你如图所示的步骤进行操作来添加新用户:

 

2)修改密码:

 

 

修改密码和权限按1->2->3来完成;4是用来删除用户的。

 

3)创建vhost,按如图1->2->3->4来完成:

 

 

  将创建的vhost应用到用户,在首页的用户名上单击用户名进入如图所示的界面:

 

4)创建policy

 

注:

rabbitmq的数据库名称规则是,NODENAME@hostname,Docker每次从Docker image启动容器的时候会自动生成hostname,这样一来,你保存在主机上的数据库就会没用了,包括之前创建的用户也会没有了。所以在创建容器的时候必须指定--hostname=rabbitmqhostone,这样docker环境启动后rabbitmq就会一直读取固定目录中的数据了

docker搭建rabbitmq的更多相关文章

  1. Docker搭建RabbitMQ集群

    Docker搭建RabbitMQ集群 Docker安装 见官网 RabbitMQ镜像下载及配置 见此博文 集群搭建 首先,我们需要启动运行RabbitMQ docker run -d --hostna ...

  2. Docker 搭建 RabbitMQ

    Docker RabbitMQ RabbitMQ 安装非常繁琐,使用 Docker 快速搭建一个 RabbitMQ 开发环境 步骤 拉取镜像 docker pull rabbitmq 启动容器 端口会 ...

  3. 用Docker搭建RabbitMq的普通集群和镜像集群

    普通集群:多个节点组成的普通集群,消息随机发送到其中一个节点的队列上,其他节点仅保留元数据,各个节点仅有相同的元数据,即队列结构.消费者消费消息时,会从各个节点拉取消息,如果保存消息的节点故障,则无法 ...

  4. Docker搭建RabbitMQ(阿里云)

    0 环境 系统环境:centos7 服务器:阿里云 1 正文 1 获取安装RabbitMQ https://hub.docker.com/_/rabbitmq 默认rabbitmq镜像是不带web端管 ...

  5. Docker:搭建RabbitMQ集群

    RabbitMQ原理介绍(一) RabbitMQ安装使用(二) RabbitMQ添加新用户并支持远程访问(三) RabbitMQ管理命令rabbitmqctl详解(四) RabbitMQ两种集群模式配 ...

  6. RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

    本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群.受限于自身条件,本 ...

  7. 搭建RabbitMQ集群(Docker)

    前一篇搭建RabbitMQ集群(通用)只是把笔记直接移动过来了,因为我的机器硬盘已经满了,实在是开不了那么虚拟机. 还好,我的Linux中安装了Docker,这篇文章就简单介绍一下Docker中搭建R ...

  8. docker实战系列之搭建rabbitmq

    1.搜索镜像[注:因为我这里采用的是阿里云镜像加速器,所以我直接在阿里云中搜索相关镜像路径],点击"详情"查看公网拉取路径 2.拉取镜像 docker pull registry. ...

  9. 【译文】用Spring Cloud和Docker搭建微服务平台

    by Kenny Bastani Sunday, July 12, 2015 转自:http://www.kennybastani.com/2015/07/spring-cloud-docker-mi ...

随机推荐

  1. delphi IsIPAdress 非正则表达式验证IP的方法

    function IsIPAdress(const Value:String):Boolean; var n,x,i: Integer; Posi:Array[..]of Integer; Oktet ...

  2. SQLSqlserver中如何将一列数据,不重复的拼接成一个字符串

    把一列数据拼接成一个字符串比较简单: declare @test varchar(500) set @test=''; select @test=@test+name+',' from person ...

  3. 键'attachdbfilename'的值无效。

    ---恢复内容开始--- ---恢复内容结束---

  4. 【转】Windows Server 2016 安装 IIS 服务时提示指定备用源路径

    原文地址:http://www.codingwhy.com/view/973.html 在Windows Serever 2016中安装IIS的时候,遇到以下提示 是否需要指定备用源路径?一个或多个安 ...

  5. 常见配置redis.conf介绍

    参数说明redis.conf 配置项说明如下:1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程  daemonize no2. 当Redis以守护进程方式运行 ...

  6. JavaScript 知识

    1. js中this表示当前标签,获取当前标签内的属性,示例如下: var user_id = $(this).attr("data-user-id"); 2.   * js中va ...

  7. 为ElasticSearch添加HTTP基本认证

    ES的HTTP连接没有提供任何的权限控制措施,一旦部署在公共网络就容易有数据泄露的风险,尤其是加上类似elasticsearch-head这样友好的前端界面,简直让你的数据瞬间裸奔在黑客的眼皮底下.项 ...

  8. GoLang学习控制语句之字符串

    Go语言字符串是一种值类型,且值不可变,即创建某个文本后你无法再次修改这个文本的内容:更深入地讲,字符串是字节的定长数组.Go 代码使用 UTF-8 编码(且不能带 BOM),同时标识符支持 Unic ...

  9. [ActionScript 3.0] 加载子swf需要指定应用程序域

    var ldr:Loader = new Loader(); ldr.load(new URLRequest("assets/test.swf")); 如上,如果在flash帧上写 ...

  10. python with用法举例

    我们知道在操作文件对象的时候可以这么写 with open('a.txt') as f: '代码块' 上述叫做上下文管理协议,即with语句,为了让一个对象兼容with语句,必须在这个对象的类中声明_ ...