RabbitMQ在Docker安装及使用
1.安装部署RabbitMQ
1).查看所有的RabbitMQ镜像
2).拉取你中意的es镜像(推荐star高的)
1
2
3
4
5
6
7
8
9
|
docker pull <rabbitmq images>
(如果拉取过程中报错在镜像后面加上版本,比如3.8.3-management)
(management版本(带有web页面的)的rabbitMq镜像)
em:
docker pull rabbitmq:management
|
3).创建挂载的目录
宿主机创建目录
1
2
3
4
5
6
7
8
9
10
11
|
mkdir -p /data/LPAPP/docker_rabbitmq/etc
mkdir -p /data/LPAPP/docker_rabbitmq/lib
mkdir -p /data/LPAPP/docker_rabbitmq/log
chmod -R 777 /data/LPAPP/docker_rabbitmq/etc
chmod -R 777 /data/LPAPP/docker_rabbitmq/lib
chmod -R 777 /data/LPAPP/docker_rabbitmq/log
|
(不用处理,会自动生成)复制docker文件(先创建没有目录映射的docker并启动)至宿主目录
1
2
3
4
5
6
7
8
9
10
11
12
13
|
docker cp -a 容器ID:/var/lib/rabbitmq /data/LPAPP/docker_rabbitmq/lib/
docker cp -a 容器ID:/etc/rabbitmq /data/LPAPP/docker_rabbitmq/etc/
docker cp -a 容器ID:/var/log/rabbitmq /data/LPAPP/docker_rabbitmq/log/
em:
docker cp -a 809deedd7b0f:/var/lib/rabbitmq /data/LPAPP/docker_rabbitmq/lib/
docker cp -a 809deedd7b0f:/etc/rabbitmq /data/LPAPP/docker_rabbitmq/etc/
docker cp -a 809deedd7b0f:/var/log/rabbitmq /data/LPAPP/docker_rabbitmq/log/
|
宿主机上创建rabbitmq用户
1
2
3
4
5
|
useradd rabbitmq
cd /data/LPAPP
chown -Rf rabbitmq:rabbitmq docker_rabbitmq
|
4).创建容器并启动
1.拉取镜像并创建容器并启动(挂载目录并从配置启动)(推荐)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
在/data/LPAPP/docker_rabbitmq/etc/目录中按(5).配置文件)步奏生成配置文件
docker run --name rabbitmq \
-p 5672:5672 -p 15672:15672 \
-v /data/LPAPP/docker_rabbitmq/etc:/etc/rabbitmq \
-v /data/LPAPP/docker_rabbitmq/lib:/var/lib/rabbitmq \
-v /data/LPAPP/docker_rabbitmq/log:/var/log/rabbitmq \
--hostname myRabbit \
-itd rabbitmq:management
|
2.拉取镜像并创建容器并启动(不挂载目录并从默认配置)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
docker run --name rabbitmq \
-p 5672:5672 -p 15672:15672 \
--hostname myRabbit \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=dy123456 \
-itd rabbitmq:management
|
3.说明
说明:
-d 后台运行容器;
–name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)
配置文件目录:/etc/rabbitmq
数据存储目录:/var/lib/rabbitmq
日志目录:/var/log/rabbitmq
4.进入容器:
1
|
docker exec -it rabbitmq /bin/bash
|
5.使用 http://IP地址:15672 访问rabbit控制台,账号密码:admin/dy123456
6.配置文件**
A.rabbitmq.conf配置文件
1
2
3
4
5
6
7
8
9
10
11
|
loopback_users.guest = false
listeners.tcp.default = 5672
default_pass = dy123456
default_user = admin
default_vhost = my_vhost
management.tcp.port = 15672
|
B.enabled_plugins配置文件
1
|
[rabbitmq_management,rabbitmq_prometheus].
|