Docker - rabbitmq 镜像详解,以及rabbitmq 的运行指令

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_15071263/article/details/102575971

Docker - rabbitmq 镜像详解,以及rabbitmq 的运行指令


1、rabbitmq 简单说明

RabbitMQ是实现高级消息队列协议(AMQP)的开源消息代理软件(有时称为面向消息的中间件)。RabbitMQ服务器是用Erlang编程语言编写的,并建立在Open Telecom Platform框架上,用于集群和故障转移。与代理接口的客户端库适用于所有主要编程语言。

2、如何使用rabbitmq 的docker 镜像

--hostname : rabbitmq 镜像基于节点名称存储数据,而这个节点名称默认为主机的名称,这代表着我们在使用rabbitmq 镜像时,应该尽可能的指定主机的名称,通过--hostname 来指定。这样我们就跟踪我们的数据,不然docker 会给主机一个随机的名字

进行简单运行

docker run -d --hostname my-rabbit --name some-rabbit rabbitmq:3

3、rabbitmq 的运行内存限制

首先,容器本身需要占用内存,他可以被显式的指定,比如我们可以在运行时,指定某个容器的运行内存最大为多少 通过 --memory/ -m 进行指定

我们通过设置容器的环境变量RABBITMQ_VM_MEMORY_HIGH_WATERMARK 来指定rabbitmq 的最大运行内存。

示例值如下
0.49:占用容器49%的内存
50%:占用容器50%的内存
1073741824:占用容器1073741824 字节的内存
1024MiB:占用容器1024 MB的内存

当以百分比设置时,百分比的内存值是容器的内存值,而不是docker 的,更加不是宿主机的

4、设置基于集群 环境下的 Erlang Cookie

通过环境变量 RABBITMQ_ERLANG_COOKIE 进行设置

-e RABBITMQ_ERLANG_COOKIE="你的cookie"

5、rabbitmq 镜像的环境变量列表

1、不带管理界面的镜像

SSL 配置

RABBITMQ_SSL_CACERTFILE
RABBITMQ_SSL_CERTFILE
RABBITMQ_SSL_DEPTH
RABBITMQ_SSL_FAIL_IF_NO_PEER_CERT
RABBITMQ_SSL_KEYFILE
RABBITMQ_SSL_VERIFY
2、带管理界面的镜像

SSL 配置

RABBITMQ_MANAGEMENT_SSL_CACERTFILE
RABBITMQ_MANAGEMENT_SSL_CERTFILE
RABBITMQ_MANAGEMENT_SSL_DEPTH
RABBITMQ_MANAGEMENT_SSL_FAIL_IF_NO_PEER_CERT
RABBITMQ_MANAGEMENT_SSL_KEYFILE
RABBITMQ_MANAGEMENT_SSL_VERIFY


设置初始化的帐号,密码

RABBITMQ_DEFAULT_USER
RABBITMQ_DEFAULT_PASS
3、共有变量

设置默认的虚拟主机

RABBITMQ_DEFAULT_VHOST

6、Alpine Linux 镜像

默认情况下,rabbitmq 镜像使用完备的Linux 系统镜像作为基础镜像,但是为了更加小的体积,rabbitmq 提供了针对Alpine Linux 的镜像, Alpine Linux 基础镜像只有大约5MB,当为了足够小的磁盘占用时,应该使用此变体镜像

需要注意的点

Alpine Linux 镜像变体使用了musl libc而不是glibc和friends,因此某些软件可能会遇到问题,具体取决于其libc要求的深度。但是,大多数软件对此没有问题,因此,此变体通常是非常安全的选择

猜你喜欢

转载自blog.csdn.net/qq_15071263/article/details/102575971
今日推荐