docker stack 部署 rabbitmq 容器
===============================================
2018/5/13_第1次修改 ccb_warlock
===============================================
rabbitmq作为开源的消息中间件目前已经被广泛应用,由于正在进行服务的容器化,所以rabbitmq的容器部署也提上日程。
由于以swarm作为容器的基础框架,故本篇整理stack中部署容器服务的方式。
一、前提条件
- 环境中已经部署了docker swarm(http://www.cnblogs.com/straycats/p/8978135.html)
- 最好也部署了portainer(http://www.cnblogs.com/straycats/p/8978201.html)
二、部署rabbitmq
2.1 创建映射的本地目录
mkdir -p /usr/docker-vol/rabbitmq/conf
2.2 增加配置文件rabbitmq.config
vim /usr/docker-vol/rabbitmq/conf/rabbitmq.config
为了允许guest用户能通过任意ip访问manager界面,故在rabbitmq.config中增加下面的信息。
[
{rabbit,
[
{loopback_users, []}
]}
].
2.3 编辑rabbitmq-stack.yml
vim /root/rabbitmq-stack.yml
# 添加下面的内容,wq保存
version: '3'
services: rabbitmq-mananger:
image: rabbitmq:mananger # 这里获取带有manager页面的rabbitmq的镜像
environment:
- TZ=Asia/Shanghai # 设定容器的时区为亚洲/上海
volumes:
# rabbitmq的配置文件
- /usr/docker-vol/rabbitmq/conf/rabbitmq.config:/etc/rabbitmq/rabbitmq.config
deploy:
replicas: 1
restart_policy:
condition: on-failure
ports:
- 4369:4369
- 5671:5671
- 5672:5672
- 15671:15671
- 15672:15672
- 25672:25672
networks:
- net01 networks:
net01:
external: true # 使用外部同名网络net01,如果对网络没有要求可以去掉networks信息,docker会生成一个默认网络给该服务栈
2.4 创建服务栈
1)命令方式
cd
docker stack deploy -c rabbitmq-stack.yml rabbitmq-stack
2)portainer界面方式(推荐)
登录portainer(如果是根据上面的教程部署的portainer,浏览器访问http://宿主机IP:9000,在stack中增加rabbitmq-stack.yml文件中的内容)
PS.如果需要保证安全,可以不增加配置文件是guest账户不能被其他ip登录manager页面,并创建一个新的管理员账户进行管理。
通过portainer进入rabbitmq容器的命令行,接着运行下面的命令。
# 创建admin用户(密码也为admin)
rabbitmqctl add_user admin admin
# 设置admin为超级管理员
rabbitmqctl set_user_tags admin administrator
# 角色说明:
- administrator:超级管理员。可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
- monitoring:监控者。可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
- policymaker:策略制定者。可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息。与administrator的对比,administrator能查看节点的相关信息
- management:普通管理者。仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
- 其他:无法登陆管理控制台,通常就是普通的生产者和消费者。
# 配置初始的命名空间/给admin
rabbitmqctl set_permissions -p / admin "admin-*" ".*" ".*"
docker stack 部署 rabbitmq 容器的更多相关文章
- docker stack 部署容器监控方案(cAdvisor、Prometheus、Grafana)
=============================================== 2018/7/8_第1次修改 ccb_warlock === ...
- docker stack 部署 mysql 5.6
=============================================== 2018/7/1_第1次修改 ccb_warlock === ...
- docker stack 部署 filebeat
=============================================== 2018/7/21_第3次修改 ccb_warlock 更新 ...
- docker stack 部署 redis
=============================================== 2019/4/16_第2次修改 ccb_warlock 更新 ...
- docker stack 部署 seafile(http)
=============================================== 2018/5/13_第1次修改 ccb_warlock == ...
- docker stack 部署 mssql
=============================================== 2019/12/8_第1次修改 ccb_warlock == ...
- docker上部署nginx容器80端口自动转443端口
拉去nginx镜像 # docker pull nginx 运行nginx容器config用于拷贝nginx配置文件 # docker run --name nginxconfig -d docker ...
- docker上部署rabbitmq
1.docker search rabbitmq 2.docker pull rabbitmq:3.6 3.docker run -d -p 5672:5672 -p 15672:15672 --na ...
- docker stack 部署nginx
=============================================== 2018/7/29_第1次修改 ccb_warlock == ...
随机推荐
- kafka 多线程消费
一. 1.Kafka的消费并行度依赖Topic配置的分区数,如分区数为10,那么最多10台机器来并行消费(每台机器只能开启一个线程),或者一台机器消费(10个线程并行消费).即消费并行度和分区数一致. ...
- Kubernetes Pod 健康检查
参考文档: https://jimmysong.io/kubernetes-handbook/guide/configure-liveness-readiness-probes.html 一.Pod的 ...
- Docker集群管理Swarm数据持久化
一.前言 和docker容器一样,Swarm集群中运行的服务也能够做数据持久化.我们可以通过volume.bind和nfs等方式来实现swarm集群应用数据的持久化.其实和docker数据持久化的形式 ...
- Linux应用程序设计之网络基础编程
1.TCP/IP协议概述 1.1.OSI参考模型及TCP/IP参考模型 OSI协议参考模型是基于国际标准化组织(ISO)的建议发展起来的,从上到下工分为7层:应用层,表示层,会话层,传输层,网络层,数 ...
- K8S之Secret
目录 简介 创建secret 1.加密用户名密码 2.加密证书文件 使用secret 1.使用volume挂载方式 2.将secret用于env 简介 secret顾名思义,用于存储一些敏感的需要加密 ...
- 逻辑回归原理_挑战者飞船事故和乳腺癌案例_Python和R_信用评分卡(AAA推荐)
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...
- java基础-System类常用方法介绍
java基础-System类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.System类概念 在API中system类介绍的比较简单,我们给出定义,system中 ...
- python---基础知识回顾(九)图形用户界面-------WxPython
主要使用wxPython(最成熟的跨平台python GUI工具包) wxPython手册 前戏:基础了解 import wx class MyFrame(wx.Frame): #创建自定义Frame ...
- Ubuntu14.04 Tab键自动补全
Unbuntu14.04 终端中使用Tab键不能自动补全 解决方案 1.利用vi编辑器打开 /etc/bash.bashrc文件(需要root权限) sudo vi /etc/bash.bashrc ...
- java字节码文件 helloworld
Java代码 \\A.java public class A{} 1 2 1 2 javac A.java \\得到 A.class javap -v A.class 下面是javap工具帮我们生成的 ...