赞
踩
1、Rabbitmq 搜索,下载,查看
- # 搜索镜像
- docker search rabbitmq:management
-
- # 下载镜像 (注意:如果不带management,启动rabbitmq后无法打开管理页面)
- docker pull rabbitmq:management
-
- # 查看镜像
- docker images
2、新建 Rabbitmq 配置文件夹
- mkdir -p /home/20221125/myrabbitmq/{data,conf,log,enabled_plugins}
-
- # 创建完成之后要对所创建文件授权权限,都设置成 777 否则在启动容器的时候容易失败
- chmod -R 777 /home/20221125/myrabbitmq
-
- # 挂载文件需要执行
- chown -R 999:999 /home/20221125/myrabbitmq
- chown -R 999:999 /home/20221125/myrabbitmq/conf
- chown -R 999:999 /home/20221125/myrabbitmq/log
- chown -R 999:999 /home/20221125/myrabbitmq/data
-
- # 挂载文件需要执行
- chmod 600 /home/20221125/myrabbitmq/data/.erlang.cookie
3、生成容器,先不挂载
- docker run -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 rabbitmq:management
- # 参数说明:
- -e RABBITMQ_DEFAULT_USER:设置用户名;
- -e RABBITMQ_DEFAULT_PASS:设置密码;
-
- # 默认用户、密码
- 默认用户:guest
- 默认密码:guest
-
- # 进入容器
- docker exec -it rabbitmq /bin/bash
- ls -l
-
- # 配置文件目录
- cd /etc/rabbitmq
-
- # 数据存储目录
- cd /var/lib/rabbitmq
-
- # 日志目录
- cd /var/log/rabbitmq
-
- # 查看插件列表
- rabbitmq-plugins list
4、容器文件 复制到 宿主机
- # 容器文件 复制到 宿主机
- docker cp <容器路径> <宿主机路径>
-
- docker cp rabbitmq:/etc/rabbitmq /home/20221125/myrabbitmq/conf
- docker cp rabbitmq:/var/log/rabbitmq /home/20221125/myrabbitmq/log
- docker cp rabbitmq:/var/lib/rabbitmq /home/20221125/myrabbitmq/data
- docker cp rabbitmq:/etc/rabbitmq/enabled_plugins /home/20221125/myrabbitmq/enabled_plugins
-
- # 宿主机上创建rabbitmq用户
- useradd rabbitmq
5、删除刚才创建的 rabbitmq 容器
- # 直接执行docker rm rabbitmq或者以容器id方式关闭容器
- # 找到 rabbitmq 对应的容器id
- docker ps -a
-
- # 关闭容器
- docker stop rabbitmq
-
- # 删除容器
- docker rm rabbitmq
-
- # 删除正在运行的 rabbitmq 容器
- docker rm -f rabbitmq
-
- # 停止和删除容器
- docker stop rabbitmq && docker rm rabbitmq
-
- # 重启容器
- docker restart rabbitmq
6、重新生成容器,设置用户名和密码
- docker run -di --name first_rabbitmq \
- -p 5672:5672 -p 5671:5671 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 \
- -e RABBITMQ_DEFAULT_VHOST=my_vhost \
- -e RABBITMQ_DEFAULT_USER=admin \
- -e RABBITMQ_DEFAULT_PASS=admin \
- --hostname my-rabbit \
- --restart=always \
- rabbitmq:management
-
- # 参数说明:
- -d:表示在后台运行容器;
- -p 15672:15672 rabbitmq management管理界面默认访问端口,(控制台Web端口号)映射到主机中
- -p 15671:15671 management监听端口,前台浏览器的控制页面
- -p 5671:5671 AMQP 0-9-1 without and with TLS
- -p 5672:5672 应用访问端口
- -p 4369:4369 (epmd)epmd 代表 Erlang 端口映射守护进程
- -p 25672:25672 Erlang Distribution
- -e:指定环境变量:
- -e RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
- -e RABBITMQ_DEFAULT_USER:设置用户名;
- -e RABBITMQ_DEFAULT_PASS:设置密码;
- --hostname:指定主机名(RabbitMQ 的一个重要注意事项是它根据所谓的 节点名称 存储数据,默认为主机名);
- --name first_rabbitmq:设置容器名称;
- rabbitmq:management:容器使用的镜像名称;
-
- # 查看容器IP地址
- docker inspect first_rabbitmq
- docker inspect first_rabbitmq | grep 'IPAddress'
-
- # 查看容器 hostname、ip地址、环境变量
- docker exec first_rabbitmq hostname
- docker exec first_rabbitmq ip addr
- docker exec first_rabbitmq env
-
- # 进入容器
- docker exec -it first_rabbitmq /bin/bash
- ls -l
-
- # 配置文件目录
- cd /etc/rabbitmq
-
- # 数据存储目录
- cd /var/lib/rabbitmq
-
- # 日志目录
- cd /var/log/rabbitmq
-
- # 查看插件列表
- rabbitmq-plugins list
-
- # 查看启动日志
- docker logs first_rabbitmq
- docker logs -f -t --since="2022-11-27" --tail=10000 first_rabbitmq
-
- # 添加用户
- rabbitmqctl add_user test 123456
-
- # 查看所有用户
- rabbitmqctl list_users
-
- # 浏览器访问 localhost:15672 失败,需要开启后台管理插件
- docker exec -it first_rabbitmq /bin/bash
- rabbitmq-plugins enable rabbitmq_management
7、检查是否安装成功
- # 打开浏览器,地址栏输入 http://宿主机IP:15672
- http://172.17.0.3:15672
-
- # 默认
- 默认用户:guest
- 默认密码:guest
-
- # 自定义
- 默认用户:admin
- 默认密码:admin
-
8、重新生成容器,挂载文件【只能挂载data,log,不能挂载conf配置文件】
- docker run -di --name first_rabbitmq -p 5672:5672 -p 5671:5671 -p 4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 \
- -e RABBITMQ_DEFAULT_VHOST=my_vhost \
- -e RABBITMQ_DEFAULT_USER=admin \
- -e RABBITMQ_DEFAULT_PASS=admin \
- -v /home/20221125/myrabbitmq/data:/var/lib/rabbitmq \
- -v /home/20221125/myrabbitmq/log:/var/log/rabbitmq \
- --hostname my-rabbit \
- --restart=always \
- rabbitmq:management
-
- # 挂载配置文件报错
- -v /home/20221125/myrabbitmq/conf:/etc/rabbitmq
9、设置 docker 启动的时候自动启动(可选)
docker update first_rabbitmq --restart=always
10、关闭删除 rabbitmq 容器
- # 关闭容器
- docker stop first_rabbitmq
-
- # 删除容器
- docker rm first_rabbitmq
-
- # 停止和删除容器
- docker stop first_rabbitmq && docker rm first_rabbitmq
-
- # 重启容器
- docker restart first_rabbitmq
11、数据包转发
- # 跳转目录
- cd /usr/lib/sysctl.d
-
- # 查看文件
- cat /usr/lib/sysctl.d/50-default.conf
-
- # 编辑文件
- vim /usr/lib/sysctl.d/50-default.conf
-
- # 末尾添加内容
- net.ipv4.ip_forward = 1
-
- # 重启network
- systemctl restart network
12、防火墙、开放端口
- # 查看防火墙状态
- systemctl status firewalld
- 或
- firewall-cmd --state
- # 暂时关闭防火墙
- systemctl stop firewalld
- # 永久关闭防火墙(慎用)
- systemctl disable firewalld
- # 开启防火墙
- systemctl start firewalld
- # 开放指定端口
- firewall-cmd --zone=public --add-port=5672/tcp --add-port=15672/tcp --permanent
- # 关闭指定端口
- firewall-cmd --zone=public --remove-port=8080/tcp --permanent
- # 立即生效
- firewall-cmd --reload
- # 查看开放的端口
- firewall-cmd --zone=public --list-ports
- # Step 1: 创建 docker-compose.yml 文件
- cd /home/20221125/myrabbitmq
- vim docker-compose.yml
-
- # Step 2: 编辑内容如下
- version: '3.0'
- services:
- rabbitmq_master_server:
- image: rabbitmq:management
- container_name: rabbitmq_master
- restart: always
- privileged: true
- hostname: rabbitmq_master
- extra_hosts:
- - "rabbitmq-master:192.168.1.201"
- - "rabbitmq-slave:192.168.1.202"
- environment:
- - RABBITMQ_DEFAULT_USER: admin
- - RABBITMQ_DEFAULT_PASS: 123456
- - RABBITMQ_ERLANG_COOKIE=SaturnABCDEFGHIJKLMNOPQRSTUVWXYZ1026
- ports:
- - 5672:5672
- - 15672:15672
- - 4369:4369
- - 25672:25672
- volumes:
- - /home/20221125/myrabbitmq/data:/var/lib/rabbitmq
- - /home/20221125/myrabbitmq/conf:/etc/rabbitmq
- - /home/20221125/myrabbitmq/log:/var/log/rabbitmq
-
- # Step 3: 执行命令
- docker-compose up -d
- docker-compose -f docker-compose-rabbitmq.yml up -d
*
*
*
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。