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
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
docker重启容器命令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启动⽅式:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论