一、查找镜像
去dockerhub查找合适的镜像
二、拉取镜像
(1)win+R输入cmd,打开命令行窗口,执行以下命令
docker pull rabbitmq
(2)查看镜像
三、运行容器
1、运行以下脚本
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v D:/workspace/dockermap/rabbitmq/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=default_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq
语法说明
docker run -d --name [容器名称] -p [宿主机端口]:[容器端口] -p [宿主机web端口]:[容器web端口] -v [宿主主机路径]:[容器data store路径] --hostname [主机名(自定义)] -e RABBITMQ_DEFAULT_VHOST=[默认虚拟机名称(自定义)] -e RABBITMQ_DEFAULT_USER=[默认用户名] -e RABBITMQ_DEFAULT_PASS=[默认密码] [镜像名称/id]
参数说明
hostname
:主机名(RabbitMQ根据所谓的 “节点名称” 存储数据,默认为主机名);-v D:/workspace/dockermap/rabbitmq/data:/var/lib/rabbitmq
:将D:/workspace/dockermap/rabbitmq/data
路径(该路径必须存在)挂载到容器的data store路径(/var/lib/rabbitmq
)下。
错误信息
docker: Error response from daemon: Ports are not available: listen tcp 0.0.0.0:5672: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
解决方案
(1)原因是5672端口被tcp端口拒绝,因此需要更换端口,首先查看哪些端口不可以使用:
netsh interface ipv4 show excludedportrange protocol=tcp
在开始端口和结束端口之间的都不可使用
(2)所以更换一个不在列表范围内的宿主端口即可,这里选择7888端口
docker run -d --name rabbitmq -p 7888:5672 -p 15672:15672 -v D:/workspace/dockermap/rabbitmq/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=default_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin rabbitmq
2、启动rabbitmq_management
docker exec -it rabbit rabbitmq-plugins enable rabbitmq_management
查看运行状态(使用脚本也可以:docker ps
)
四、配置端口防火墙
打开控制面板,设置防火墙
下一步
下一步
下一步
重复上述步骤配置15672端口(可选)
五、进入管理界面
用浏览器打开localhost:15672,输入用户名密码,即步骤三脚本中的RABBITMQ_DEFAULT_USER
和RABBITMQ_DEFAULT_PASS
的值
成功