Docker部署RabbitMQ:management
- 搜索镜像
docker search rabbitmq:management
- 拉取镜像
docker pull rabbitmq:management
- 创建容器
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 916ea1c35ec8
--name指定了容器名称
-d 指定容器以后台守护进程方式运行
-p 指定容器内部端口号与宿主机之间的映射,rabbitMq默认要使用5672为程序通信端口,15672为网页访问端口
- 查看日志信息 :docker logs -f 容器id
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/aac5721ba118b99901adb7c88433a090.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/5bccf6a1743a7e540285cee5859bc662.png)
从日志可以看出,rabbitMq默认创建了guest用户,并且赋予administrator角色权限,同时服务监听5672端口TCP连接和15672端口的HTTP连接,至此说明安装成功。 - 登录管控台
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9ed169bd3dfb2f44feed1fb1d5d86873.png)
- 创建虚拟主机授权等
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d1a892faee76a15efdd5618f590e80d1.png)
- 使用原生API进行测试
public class mq_prod {
public static void main(String[] args) {
try {
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("192.168.93.189");
factory.setPort(5672);
factory.setVirtualHost("/itcast");
factory.setUsername("guest");
factory.setPassword("guest");
Connection connection = factory.newConnection();
Channel channel = connection.createChannel();
channel.queueDeclare("helle_queue",true,false,false,null);
String body="helle mq";
channel.basicPublish("","hello_routingKey",null,body.getBytes());
channel.close();
connection.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
- 查看测试结果
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/3634636888945e2d9db02430cb829290.png)