zoukankan      html  css  js  c++  java
  • Docker下使用EMQX开源版本搭建自己的MQTT服务

    安装之前先做一下前置工作:

    1.在centos中添加用户emqx及用户组emqx,因为emqx在docker容器中用户是emqx。

    新增用户组
    groupadd emqx
    
    新增用户,分配用户组
    useradd -g emqx -m emqx
    
    查询用户
    cut -d : -f 1 /etc/passwd
     
    查询用户组
    cut -d : -f 1 /etc/group

    2.启动没有挂在宿主机目录的EQMX服务,启动成功后访问http://服务器Ip:18083 即可打开后台,默认账户名 admin 密码public

    docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx 

    3.复制已启动成功的EMQX容器中存储数据、日志相关的目录及其文件到宿主机制定挂在目录

    分别复制以下三个目录
    /opt/emqx/data
    /opt/emqx/etc
    /opt/emqx/log
    
    执行命令:
    docker 容器名称:目录 宿主机目录
    
    注意:容器目录和宿主目录中间有一个空格.
     
    示例:
    docker cp k8s_emqx_emqx-79b8ccdcc5-n28b2_tongchuan_003b9b1f-3c38-11eb-866c-5254003ed89b_0:/opt/emqx/data /docker_volume/emqx/data

    4.修改宿主机目录的所属用户和所属用户组为emqx

    chown -R emqx:emqx /docker_volume/emqx/ 
     
    注意:此处的/docker_volume/emqx/ 为苏主机目录,-R是将emqx及其所有子目录、文件的所属用户、用户组都修改。

    做完以上前置步骤之后就记得将之前为了复制数据目录而且启动的容器停止删除掉。下来就可以正式启动EMQX,分为以下两种方式:

    Docker启动方式:

    docker run -d --name emqx -e EMQX_HOST="127.0.0.1" -e EMQX_NAME="demo_emqx" 
    -v /docker_volume/emqx/data:/opt/emqx/data 
    -v /docker_volume/emqx/etc:/opt/emqx/etc 
    -v /docker_volume/emqx/log:/opt/emqx/log  
    -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx 
    
    
    注意: EMQX_HOST 是本机IP,就填写127.0.0.1即可。EMQX_NAME是EMQX存储数据的唯一目录名称。
          在docke启动的remqx运行产生的数据存储在 data/mnesia/$node_name 目录下,$node_name 是容器当前的 host_name 和 ip,用 docker 部署的时候每次都会变动的,
          为了保证容器重启之后配置的数据还在,需要配置这两个环境变量。

    Rancher启动方式:

     

  • 相关阅读:
    Process 'command '/Users/lidaqiang/Library/Android/sdk/build-tools/27.0.3/aapt'' finished with non-zero exit value 1
    合同诈骗无罪裁判要旨、判决理由及评析意见
    互换不同种类毒品行为如何认定
    正当防卫指导性案例以及研析
    期待可能性理论的司法适用
    共同犯罪认定方法
    刑事案件鉴定意见常用质证要点
    张明楷的100个刑法案例
    刑事律师办案必备126部法律
    正当防卫裁判要旨16条
  • 原文地址:https://www.cnblogs.com/anybt/p/14125607.html
Copyright © 2011-2022 走看看