1、拉取镜像

management:表示可以通过web页面管理。 alpine:表示是linux最小版本,不推荐新手安装。

docker pull rabbitmq:management

2、创建用于挂载的目录

mkdir -p /mydata/rabbitmq/{data,conf,log}

# 创建完成之后要对所创建文件授权权限,都设置成777 否则在启动容器的时候容易失败

chmod -R 777 /mydata/rabbitmq

3、获取配置文件

3.1创建临时容器

docker run -d --name rabbitmq1 --restart=always --hostname=rabbitmqhost \

-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \

-e RABBITMQ_DEFAULT_VHOST=my_vhost \

-p 5672:5672 -p 15672:15672 \

rabbitmq:management

3.2 复制配置文件到宿主机

docker cp rabbitmq1:/etc/rabbitmq/ /mydata/rabbitmq/conf

3.3 删除临时容器

docker stop rabbitmq1

docker rm rabbitmq1

4、使用镜像创建容器

docker run -d --name rabbitmq --restart=always --hostname=rabbitmqhost \

-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \

-e RABBITMQ_DEFAULT_VHOST=my_vhost \

-v /mydata/rabbitmq/data:/var/lib/rabbitmq -v /mydata/rabbitmq/conf:/etc/rabbitmq -v /mydata/rabbitmq/log:/var/log/rabbitmq \

-p 5672:5672 -p 15672:15672 \

rabbitmq:management

–restart=always :表示随着Docker容器重启

-e :指定环境变量 RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码,rabbitmq默认账号和密码是guest

--hostname :主机名

-p :端口映射

-v :文件挂载

-d :表示后台运行

–name rabbitmq :表示启动后的容器实例名称为rabbitmq

4.1 设置主机名的作用 (–hostname=rabbitmqhost)

RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名

4.2 设置虚拟机名(-e RABBITMQ_DEFAULT_VHOST=my_vhost)的作用

5、端口说明

4369:RabbitMQ节点和CLI工具使用的对等发现服务5672、5671:由不带和带 TLS 的 AMQP 0-9-1 和 AMQP 1.0 客户端使用5552、5551:由不带和带 TLS 的RabbitMQ Stream 协议客户端使用6000 ~ 6500:由RabbitMQ 流复制使用25672:用于节点间和 CLI 工具通信(Erlang 分发服务器端口)并从动态范围分配(默认限制为单个端口,计算为 AMQP 端口 + 20000)。除非确实需要这些端口上的外部连接(例如集群使用联合或在子网外的机器上使用 CLI 工具),否则不应公开这些端口。35672 ~ 35682:由 CLI 工具(Erlang 分发客户端端口)用于与节点通信,并从动态范围(计算为 (Erlang 分发服务器端口 + 10000) ~ (Erlang 分发服务器端口 + 10010) )进行分配。15672、15671:由不带和带TLS的HTTP API客户端、管理 UI和rabbitmqadmin使用(仅当管理插件启用时)61613、61614:由不带和带TLS 的STOMP 客户端(仅当启用STOMP 插件时)1883、8883:由不带和带TLS 的MQTT 客户端使用(仅当启用了MQTT 插件)15674:STOMP-over-WebSockets 客户端(仅当启用Web STOMP 插件时)15675:MQTT-over-WebSockets 客户端(仅当启用Web MQTT 插件时)15692:Prometheus 指标(仅当启用Prometheus 插件时)

文章来源

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: