Docker下安装EMQ开源版本

标签:配置   容器   com   没有   arp   code   停止   cut   csharp   

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

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

新增用户组
groupadd emqx

新增用户,分配用户组
useradd -g emqx -m emqx

查询用户
cut -d : -f 1 /etc/passwd

查询用户组
cut -d : -f 1 /etc/group

2.启动没有挂在宿主机目录的EQM服务

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

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

分别复制以下三个目录
/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启动方式:

技术图片

技术图片

 

 

 技术图片

技术图片

 

Docker下安装EMQ开源版本

标签:配置   容器   com   没有   arp   code   停止   cut   csharp   

原文地址:https://www.cnblogs.com/anybt/p/14125607.html

版权声明:完美者 发表于 2020-12-17 12:58:40。
转载请注明:Docker下安装EMQ开源版本 | 完美导航

暂无评论

暂无评论...