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.

  • 相关阅读:
    什么是根文件系统
    构建基本的嵌入式Linux根文件系统
    “文件系统”与“根文件系统”详解
    C#中NameValueCollection类用法详解
    别把西红柿连续种在同一块地里
    asp.net 服务器控件的 ID,ClientID,UniqueID 的区别
    不要为框架作过多的假设
    构件技术
    asp.net中控件id,clientid,uniqueid的区别
    系统架构图怎么画
  • 原文地址:https://www.cnblogs.com/yang5726685/p/15797001.html
Copyright © 2011-2022 走看看