(1)RabbitMQ在Docker上安装
1.简介
在来学习RabbitMQ时候,我觉得很有必要先把它的环境先搭建起来,这样后面的示例才能进行。因为之前自己手动在Linux服务器上搭建过Elasticsearch,当时踩过太多坑了,浪费太多时间在这事情上,后面发现在Docker上安装部署方便快捷,不需要额外安装Erlang,所以写该篇文章先来介绍如何在Docker上部署RabbitMQ。
2. 安装Docker Engine-Community
使用Docker仓库进行安装,在新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。之后,您可以从仓库安装和更新Docker。
2.1设置仓库
安装所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
or
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

使用以下命令来设置稳定的仓库(一般不建议使用官方源地址,因为访问国外的站点比较慢,最好访问国内的源地址,例如阿里云):
$ sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
or
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.2安装Docker Engine-Community
安装最新版本的Docker Engine-Community和containerd,或者转到下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io

2.3查看Docker版本
docker version

查看Docker版本时候,发觉Docker并没有启动,所以接下来要启动Docker。
2.4启动Docker
systemctl start docker
2.5通过运行hello-world映像来验证是否正确安装了Docker Engine-Community(当运行容器时,使用的镜像如果在本地中不存在,就会自动从docker镜像仓库中下载,默认是从Docker Hub公共镜像源下载)
docker run hello-world

2.6查看镜像
docker images

由此可见,docker下载安装成功!
3. Docker安装RabbitMQ
可以自行进入docker hub镜像仓库地址(https://hub.docker.com)查看rabbitmq类型的镜像。
3.1拉取rabbitmq镜像
docker pull rabbitmq

3.2查看镜像

拉取rabbitmq镜像成功!
3.3启动RabbitMQ Web界面
docker restart rabbitmq(REPOSITORY,容器名称)
docker restart 76615d52df27(CONTAINER ID,容器ID)
设置rabbitmq用户名和密码并启动主要有两种方式:
●默认guest 用户,密码guest:
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
●设置新用户名和密码:
docker run -d --hostname my-rabbit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=qwer1234 -p 15672:15672 -p 5672:5672 rabbitmq:management

-d:后台运行容器。
--name:指定容器名。
-p:指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号)。
-v:映射目录或文件。
--hostname:主机名(RabbitMQ的一个重要注意事项是它根据所谓的“节点名称”存储数据,默认为主机名)。
-e:指定环境变量(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)。
●启动rabbitmq_management脚本命令如下:
docker exec -it rabbitmq rabbitmq-plugins enable rabbitmq_management

注意:rabbitmq为镜像名称。
3.4开启防火墙15672端口
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload
--查看是否开通访问权限
firewall-cmd --permanent --zone=public --query-port=15672/tcp
注:如果是阿里云等服务器,则需要配置RabbitMQ安全组策略
登录阿里云->安全组规则->访问规则->入方向->手动添加如下策略:
3.5查看正在运行容器
docker ps -a

3.6 rabbitmqctl用户命令使用
当你使用rabbitmqctl用户命令时有如下提示:
rabbitmqctl: command not found
则是因为rabbitmqctl没有进行软连接,需要进入到rabbitmqctl的sbin目录下执行rabbitmqctl命令才有用。假设我要修改admin用户密码,需要找到rabbitmqctl的sbin目录并切换才能执行命令,如果不清楚目录在哪里,可以通过find命令查找:
find / -name "rabbitmqctl*"

3.6.1用户相关命令
●查看用户列表
rabbitmqctl list_users
●增加用户
rabbitmqctl add_user username 'password'
●设置角色
rabbitmqctl set_user_tags username administrator
●修改用户密码
rabbitmqctl change_password username 'newpasswd'
●删除用户
rabbitmqctl delete_user username
●用户赋权(使用户user1具有vhost1这个virtual host中所有资源的配置、写、读权限以便管理其中的资源)
rabbitmqctl set_permissions -p vhost1 username '.*' '.*' '.*'
●查看权限
rabbitmqctl list_user_permissions username
●查看vhost1中权限
rabbitmqctl list_permissions -p vhost1
●清除权限
rabbitmqctl clear_permissions [-p VHostPath] username
3.6 Docker重启RabbitMQ
●查看正在运行容器:
docker ps -a
●停止运行rabbitmq容器:
docker stop 9f1fb347efc2 (CONTAINER ID)
●删除rabbitmq容器:
docker rm 9f1fb347efc2(CONTAINER ID)
●再执行3.3小节rabbitmq启动命令
3.7安装成功

参考文献:
CentOS Docker安装
Docker镜像使用
Docker容器使用
Docker容器连接
(1)RabbitMQ在Docker上安装的更多相关文章
- CI与CD之Docker上安装Jenkins
一.CI,CD,Jenkins的介绍 CI:持续集成(Continuous integration,简称 CI),在传统的软件开发环境中,有集成,但是没有持续集成这种说法,长时间的分支与主干脱离,导致 ...
- Docker上安装Redis
Docker可以很方便的进行服务部署和管理,下面我们通过docker来搭建Redis的单机模式.Redis主从复制.Redis哨兵模式.Redis-Cluster模式 一.在Docker上安装单机版R ...
- docker上安装elasticsearch和ik分词器插件和header,实现分词功能
docker run -di --name=tensquare_es -p 9200: -p 9300:9300 elasticsearch:5.6.8 创建elasticsearch容器(如果版本不 ...
- docker上安装nginx服务
环境 1.开启一个容器,安装nginx,略过 2.假如第一步新启动没映射端口的话,重新把容器保存为镜像然后再重新运行一个新容器,不建议在一个正在运行的容器上做端口映射 docker run ...
- 在Docker上安装配置Oracle教程
地址:https://github.com/wnameless/docker-oracle-xe-11g Docker shell 下: docker pull wnameless/oracle-xe ...
- docker上安装eslaticsearch
一 elasticsearch安装 1 查找镜像: docker search elasticsearch 可以看到如下截图; 2 拉取镜像 docker pull elasticsearch 我并没 ...
- 在腾讯CentOS7.4云服务器上安装Docker,在Docker上安装配置MySQL、Tomcat和Nginx
提示:以下是在腾讯CentOS7.4云服务器上操作. Docker的基本操作:https://www.cnblogs.com/opsprobe/p/10963098.html 一.安装Docker # ...
- rabbitmq在mac上安装
1.安装brew 打开http://bash.sh 执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/ ...
- 在单机Docker上安装 Traefik 反向代理-负载均衡器
一.创建Traefik和容器应用的连接网络 sudo docker network create traefik-net 二.下载Traefik样本配置文件wget https://raw.githu ...
随机推荐
- Linux系统进入redis并查询值
1.进入redisredis-cli -h ip -p port2.查看具体信息info 3.得到redis中存储的所有key值KEYS *4.获取指定key值的value值get "key ...
- 原来select语句在MySQL中是这样执行的!看完又涨见识了!这回我要碾压面试官!
大家好,我是冰河~~ MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多 ...
- 8.3考试总结(NOIP模拟19)[最长不下降子序列·完全背包问题·最近公共祖先]
一定要保护自己的梦想,即使牺牲一切. 前言 把人给考没了... 看出来 T1 是一个周期性的东西了,先是打了一个暴力,想着打完 T2 T3 暴力就回来打.. 然后,就看着 T2 上头了,后来发现是看错 ...
- 自建简易FaaS平台
近些年来,传统的 IaaS.PaaS 已经无法满足人们对资源调度的需求了.各大云厂商相继开始推出自家的 Serverless 服务.Serverless 顾名思义,它是"无服务器" ...
- IDEA输出乱码“淇℃伅”
尝试过在IDEA中tomcat的vmoptions中加入代码 -Dfile.encoding=GBK 没什么用 最后找到了这个方法 参考链接 ①在Tomcat文件夹下找到conf ②找到logging ...
- 【PTA|Python】浙大版《Python 程序设计》题目集:第二章
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...
- RHCSA_DAY03
cd 切换工作目录命令 cd(英文全拼:change directory)切换目录 命令格式:cd [-选项] [目录名] 提示:目录名称可以是绝对路径或相对路径,如果不指定目录名称,则切换到当前用户 ...
- 记一次mysql事务未提交导致锁未释放的问题
记一次mysql事务未提交导致锁未释放的问题 ## 查看未提交的事务(3秒内未操作的事务) SELECT p.ID AS conn_id, P.USER AS login_user, P.HOST A ...
- linux的iptables设置
添加规则 -A 在链末尾追加一条规则 -I 在链开头或某序号前插入一条规则 查看规则 -L 列出所有规则 -n 数字显示地址和端口信息 -v 详细信息 -line-numbers 显示规则序号 删除规 ...
- K8s 部署 Gitlab
K8s 版本:1.20.6 这里使用的镜像不是官方的,而是 Gitlab 容器化中使用非常多的一个第三方镜像:sameersbn/gitlab,基本上和官方保持同步更新.地址:http://www.d ...