1. 查找镜像:(management 版本的镜像才有管理界面)

docker search rabbitmq:management

2. 拉取镜像:

docker pull docker.io/macintoshplus/rabbitmq-management


3. 重命名该镜像为 rabbitmq

docker tag 旧镜像名 新镜像名

4.启动容器

docker run -d --hostname cbw-rabbit --name rabbitmq -e RABBITMQ_DEFAULT_USER=cbw -e RABBITMQ_DEFAULT_PASS=cbw -p 15672:15672 rabbitmq

hostname主机名(区分集群中节点)

name容器名

RABBITMQ_DEFAULT_USER用户名

RABBITMQ_DEFAULT_PASS密码

rabbitmq镜像名

5.报错

docker: Error response from daemon: driver failed programming external connectivity on endpoint rabbitmq (48822965eea1d3b097ea0e8efac7b96545c9b8e2f30072ddd4f9aebef52cf3b2):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 15672 -j DNAT --to-destination 172.17.0.2:15672 ! -i docker0: iptables: No chain/target/match by that name.

docker出现Error response from daemon: driver failed programming external connectivity on endpoint解决方法_码农研究僧的博客-CSDN博客

解决:重启防火墙systemctl restart firewalld

6.查看容器运行日志

docker logs rabbitmq

7.登录管控台

ip:15672

8.创建vhost虚拟机以及给用户设置操作vhost权限都可在管控台设置。

9.java客户端连接rabbitmq被拒绝

Exception in thread "main" java.net.ConnectException: Connection refused: connect

问题:没有在防火墙中开放5672以及15672两个端口号

解决办法:在开启防火墙状态下添加这两个端口号

sudo firewall-cmd --add-port=15672/tcp --permanent

sudo firewall-cmd --add-port=5672/tcp --permanent

或者

firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口

firewall-cmd --zone=public --add-port=25672/tcp --permanent

firewall-cmd --reload # 配置立即生效

firewall-cmd --zone=public --list-ports # 查看防火墙所有开放的端口

10.java客户端连接rabbitmq超时

Exception in thread "main" java.net.ConnectException: Connection timed out: connect

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐