随着容器技术的的普及,越来越多的应用以 Docker 的方式进行部署,这极大地缩短了应用的上线周期,更避免了应用在扩平台方面的兼容性问题。为了给读者提供更好的用户体验,EMQ 君也制作了 EMQ 的 Docker 版本镜像。至于具体的制作过程,由于比较繁琐,在此不浪费读者的宝贵时间。以下是 Docker 版本的 EMQ 安装介绍
Docker 镜像下载
-
在 EMQ 君的官网中下载相应版本的 Docker 镜像文件(镜像下载地址)
-
这里假设读者下载的是
emqttd-2.2.0
稳定版,解压得到emqttd-docker
镜像文件$ unzip emqttd-docker-v2.2.0.zip
-
加载解压后的 Docker 镜像文件
$ docker load < emqttd-docker-v2.2.0
可在终端中执行
docker images
来检查是否加载成功

EMQ 容器运行
-
运行 EMQ 的 Docker 容器
$ docker run -tid --name emq22 \ -p 1883:1883 -p 8083:8083 -p 8883:8883 \ -p 8084:8084 -p 18083:18083 \ emqttd-docker-v2.2.0
可在终端执行
docker ps
来检查容器是否正常运行

容器运行后,就可以通过宿主机上对应的端口来访问 emqx
的相应服务。各端口的使用说明可参考
mqtt-listeners
-
终止运行中的容器,即停止
emqx
服务$ docker stop emq22
-
启动已终止的容器,即启动
emqx
服务$ docker start emq22
-
进入容器内部的控制台
$ docker exec -it emq22 /bin/sh
进入后的操作界面如下

-
删除容器,删除前请确保容器已停止运行
docker rm emq22
关键参数项简述
-
--name emq22
:指定运行容器的别名,对容器进行操作时,可直接传入容器别名。建议取一个有表征性的名字 -
-p 1883:1883
:将容器内的1883
端口映射到宿主机的1883
端口。通过访问宿主机的1883
端口,既可访问到emqx
的1883
端口(其它端口也是如此) -
emqttd-docker-v2.2.0
:EMQ Docker 镜像名
想了解更多 MQTT 的知识,请关注 EMQ 君的博客
网友评论