Docker下搭建RabbitMQ
2020-03-15 本文已影响0人
一起码
Mac下Docker安装可参考安装指引
RabbitMQ镜像选取
可通过DockerHub或者命令行选取镜像
DockerHub选取

命令行选取
docker search rabbitmq

选取Starts数最多的官方镜像,默认的rabbitmq是不带web端管理插件的,因此选择tag为management的镜像,详情可查看
拉取镜像
docker pull docker.io/rabbitmq:3.8-management

启动容器
查看镜像
docker images
可以查看到IMAGE ID(镜像ID)为3658aa401173

创建容器
docker run --name rabbitmq -d -p 15672:15672 -p 5672:5672 3658aa401173
- --name 指定容器名称(建议容易识别的名称)
- -d 以后台守护进程的方式启动
- -p 指定容器内部端口号与宿主机之间的映射,RabbitMQ默认使用15672位Web管理界面的端口,5672位消息通信的端口
-
最后为镜像ID,即使用该镜像创建容器(通过 docker image查看)
执行成功后,返回容器ID:
docker_run
查看容器
执行命令,查看正在运行的容器,可以观察到RabbitMQ已正常运行
docker ps

查看容器日志
通过容器ID查看RabbitMQ的详细启动日志,从日志中可以观察到,RabbitMQ默认创建了guest用户,并且授予了administrator角色权限,同时服务监听5672端口TCP连接和15672端口的HTTP连接
docker logs -f 3658aa401173


访问RabbitMQ
在浏览器输入宿主机IP:15672即可访问RabbitMQ的Web端管理界面,默认用户名和密码都是guest,可以查看到以下界面

容器内操作RabbitMQ
可通过rabbitmqctl进行相关配置

问题
spring:
rabbitmq:
host: http://192.168.31.174
port: 5672
username: admin
password: admin
IDEA中配置RabbitMQ相关的信息,启动maven项目报错:
seems to contain an unquoted IPv6 address. Make sure you quote IPv6 addresses!
host不能加前缀“http://”,修改成
spring:
rabbitmq:
host: 192.168.31.174