zoukankan      html  css  js  c++  java
  • Docker安装Rabbitmq并实现挂载宿主机数据目录

    一、安装

    1、进入docker hub镜像仓库地址:https://hub.docker.com/_/rabbitmq?tab=tags

    2、搜索rabbitMq,进入官方的镜像,可以看到以下几种类型的镜像;我们选择带有“mangement”的版本(包含web管理页面);

    3、拉取镜像

    docker pull rabbitmq:management

    使用:docker images 查看所有镜像

     4、创建rabbitmq相关挂载目录

    mkdir -p /usr/local/rabbitmq/{data,conf,log}
    
    # 创建完成之后要对所创建文件授权权限,都设置成777 否则在启动容器的时候容易失败
    chmod -R 777 /usr/local/rabbitmq

    5、根据下载的镜像创建和启动容器

    docker run --privileged=true \
    -d -p 5672:5672 -p 15672:15672 \
    --name rabbitmq -v /usr/local/rabbitmq/data:/var/lib/rabbitmq -v /usr/local/rabbitmq/conf:/etc/rabbitmq -v /usr/local/rabbitmq/log:/var/log/rabbitmq \
    --restart=always --hostname=rabbitmqhost -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin \
    rabbitmq:3.9.12-management

    参数说明:

    -d 后台运行容器;

    --name 指定容器名;

    -p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);

    -v 映射目录或文件;

    --hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

    -e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

    注:docker启动的时候提示WARNING: IPv4 forwarding is disabled. Networking will not work.

    原因:CentOS的内核中的ip_forward(IP转发)是默认关闭的,需要手动打开

    修改配置文件:

    vim /usr/lib/sysctl.d/00-system.conf

    追加:

    net.ipv4.ip_forward=1

    接着重启网络:

    systemctl restart network

    6、使用命令:docker ps 查看正在运行容器

    7、开启端口

    firewall-cmd --zone=public --add-port=5672/tcp --permanent
    
    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    
    firewall-cmd --reload

    二、开启web管理端

    1、进入容器,

    docker exec -it rabbitmq bash

    2、开启web管理端

    rabbitmq-plugins enable rabbitmq_management

    3、创建用户

    默认账户密码都是 guest

    默认用户guest访问报错User can only log in via localhost解决方案

    第一种
    只能本机通过localhost方式访问了,一般不安装图形界面,所以这个基本不会选择

    第二种

    用admin/admin账号密码登录,创建

    Add a user

    Virtual Hosts

    Set permission,点击用户名,设置权限

     第三种:

    1.首先进入容器 docker exec -it rabbitmq /bin/bash
    
    2.创建用户 rabbitmqctl add_user admin1 admin1
    
    3.给用户授权角色 rabbitmqctl set_user_tags admin1 administrator
    
    4.给用户添加权限 rabbitmqctl set_permissions -p / admin1 ".*" ".*" ".*"

    4、可以使用浏览器打开web管理端:http://Server-IP:15672.

  • 相关阅读:
    优先队列的一种实现方式——堆
    iOS 批量打包
    Xcode 8 的 Debug 新特性 —- WWDC 2016 Session 410 & 412 学习笔记
    仿淘宝上拉进入详情页交互的实现
    iOS 10 的适配问题
    集成支付宝钱包支付 iOS SDK 的方法与经验
    Quick Touch – 在 iOS 设备运行的 “Touch Bar”
    iOS 开发中的 Tips(一)
    ReactiveCocoa 中 RACSignal 是怎样发送信号
    自定义下拉刷新控件
  • 原文地址:https://www.cnblogs.com/yang5726685/p/15797001.html
Copyright © 2011-2022 走看看