Docker部署RabbitMQ:management

Docker部署RabbitMQ:management

  1. 搜索镜像
docker search rabbitmq:management
  1. 拉取镜像
docker pull rabbitmq:management
  1. 创建容器
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 916ea1c35ec8
--name指定了容器名称
-d 指定容器以后台守护进程方式运行
-p 指定容器内部端口号与宿主机之间的映射,rabbitMq默认要使用5672为程序通信端口,15672为网页访问端口
  1. 查看日志信息 :docker logs -f 容器id
    在这里插入图片描述
    在这里插入图片描述
    从日志可以看出,rabbitMq默认创建了guest用户,并且赋予administrator角色权限,同时服务监听5672端口TCP连接和15672端口的HTTP连接,至此说明安装成功。
  2. 登录管控台
    Docker部署RabbitMQ:management_第1张图片
  3. 创建虚拟主机授权等
    Docker部署RabbitMQ:management_第2张图片
  4. 使用原生API进行测试
public class mq_prod {
    public static void main(String[] args) {
		try {
            // 1. 创建连接工厂
            ConnectionFactory factory = new ConnectionFactory();
            // 2. 设置参数
            factory.setHost("192.168.93.189");// ip 默认值 localhost
            factory.setPort(5672);// 端口号 默认值 5672
            factory.setVirtualHost("/itcast");// 虚拟机 默认值
            factory.setUsername("guest");
            factory.setPassword("guest");
            // 3. 创建连接 connection
            Connection connection = factory.newConnection();
            // 4. 创建channel
            Channel channel = connection.createChannel();
            // 5. 创建队列queue
            /**参数:
             * 1. queue:队列名称
             * 2. durable: 是否持久化,当mq重启后还在
             * 3. exclusive:是否独占,只能有一个消费者监听这队列,当Connection关闭,自动删除队列
             * 4. autoDelete:是否自动删除,当没有Consumer时,自动删除
             * 5. arguments:参数
             */
            channel.queueDeclare("helle_queue",true,false,false,null);
            /**参数
             * 1. exchange:交换机名称,简单模式下使用默认的""
             * 2. routingKey:路由名称
             * 3. props:配置信息
             * 4. body:发送信息数据
             */
            // 封装消息
            String body="helle mq";
            // 6. 发送消息
            channel.basicPublish("","hello_routingKey",null,body.getBytes());
            // 7. 释放资源
    	 	channel.close();
            connection.close();
    	} catch (Exception e) {
       		e.printStackTrace();
    	}
	}
}
  1. 查看测试结果
    Docker部署RabbitMQ:management_第3张图片

你可能感兴趣的:(docker,MQ,rabbitmq,docker,java,队列)