
创建本地目录
当前用户目录创建数据卷目录时,需要注意的是应当直接创建目录而不需要sudo 执行,避免不同用户所属文件目录来回嵌套导致容器内部执行权限不足。
$cd ~
$mkdir -p $PWD/docker_data/emqx/data/configs
$mkdir -p $PWD/docker_data/emqx/log
$ll $PWD/docker_data/emqx
drwxr-xr-x 4 ggcy ggcy 4096 Oct 21 18:05 ./
drwxr-xr-x 3 ggcy ggcy 4096 Oct 21 17:45 ../
drwxr-xr-x 5 ggcy ggcy 4096 Oct 21 18:06 data/
drwxr-xr-x 2 ggcy ggcy 4096 Oct 21 18:05 log/
单节点部署
如果只是单节点部署,需要设置–hostname 时,可以进行自定义配置,例如ggcy.master.emqx,此时 EMQX_NODE_NAME=emqx@<hostname>应该为EMQX_NODE_NAME=emqx@ggcy.master.emqx,运行命令如下。
$cd ~/docker_data/emqx
$sudo docker run -d --name emqx --hostname ggcy.master.emqx -e "EMQX_NODE_NAME=emqx@g
gcy.master.emqx" -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 -v $PWD/data:/opt/emqx/data -v $PWD/log:/opt/emqx
/log emqx:latest
61d67df6db56818ceca0094b5daed14810453a799d84e681641103c0f30b04fc
查看容器日志,表明运行成功。
$ sudo docker logs emqx
WARNING: Default (insecure) Erlang cookie is in use.
WARNING: Configure node.cookie in /opt/emqx/etc/emqx.conf or override from environment variable EMQX_NODE__COOKIE
WARNING: NOTE: Use the same cookie for all nodes in the cluster.
EMQX_RPC__PORT_DISCOVERY [rpc.port_discovery]: manual
EMQX_NODE__NAME [node.name]: emqx@ggcy.master.emqx
Listener tcp:default on 0.0.0.0:1883 started.
Listener ssl:default on 0.0.0.0:8883 started.
Listener ws:default on 0.0.0.0:8083 started.
Listener wss:default on 0.0.0.0:8084 started.
Listener http:dashboard on :18083 started.
EMQX 5.8.8 is running now!
也可查看docker ps,容器为运行状态,如果提示类似创建文件permission denied权限不足,则可以查看笔者的数据目录创建部分。
$sudo docker ps |grep emqx
61d67df6db56 emqx:latest "/usr/bin/docker-ent…" 4 minutes ago Up 4 minutes 4370/tcp, 0.0.0.0:1883->1883/tcp, [::]:1883->1883/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, [::]:8083-8084->8083-8084/tcp, 0.0.0.0:8883->8883/tcp, [::]:8883->8883/tcp, 0.0.0.0:18083->18083/tcp, [::]:18083->18083/tcp, 5369/tcp emqx
系统访问
访问http://localhost:18083,出现后台管理页面,账户默认为admin,默认密码为public,首次登录会提示修改密码。

虽然可以跳过,但是为了安全,还是修改一下。

登录管理系统页面,效果如下。

侧面菜单展开效果。

创建数据源
创建客户端认证账户,如果没有创建数据源就需要进行配置。

选择认证方式。

选择存储数据源。

进行配置。

创建之后,可以看到内置数据库。

创建客户端认证
选择用户管理,进行用户添加。

添加用户和创建密钥。

创建成功,就可以用于客户端进行远程连接服务。

使用Mqttx进行连接测试,创建连接,连接成功表示账户配置正确。


Docker部署EMQX指南


被折叠的 条评论
为什么被折叠?



