Docker部署CP7(Win&Linux)
Coolpy7内核由于使用Epoll技术,所以系统默认支持Linux或MacOS等基于unix内核的操作系统,因此如需要在windows系统中运行Coolpy7需要通过Docker技术进行虚拟化环境部署。因此本手册只说明如何在windows中通过docker容器技术部署运行Coolpy7,理论上所有Windows系统只要能正常安装docker都可正常,并且适用所docker为基础的应用场境
Last updated
Coolpy7内核由于使用Epoll技术,所以系统默认支持Linux或MacOS等基于unix内核的操作系统,因此如需要在windows系统中运行Coolpy7需要通过Docker技术进行虚拟化环境部署。因此本手册只说明如何在windows中通过docker容器技术部署运行Coolpy7,理论上所有Windows系统只要能正常安装docker都可正常,并且适用所docker为基础的应用场境
Last updated
安装docker
确保docker正常启动,确保docker容器类型为linux containers(一般安装完成后默认即)
docker在Win或Linux系统成功安装docker后,以下操作在Win和Linux下均可正常使用
打开一个新的cmd命令行模式,执行以下指令
在主系统d盘创建data文件夹为共享硬盘给Coolpy7内核使用,用于Coolpy7内核的持久化MQTT消息,用户Session、订阅主题等。同时可以确保镜像更新后原有的持久化数据不丢失。
使用docker run指令启动Coolpy7镜像
指令执行过程中docker会在右下角出现Share drive提问框,需要点击Share it按扭允许共享d盘data文件夹给docker操作。
至此基于Docker的Coolpy7已正常启动,我们可以通过连接到宿主的1883端口进行MQTT客户端连接测试,在本测试环境中docker主系统的内网ip为192.168.31.221
docker run 指令模式支持给镜像主程序传递参数,指令格式只需在镜像名后编写参数即可生效。
当Coolpy7内核运行后我们如果需要提供MQTT的Websocket能力,Websocket技术提供了网页高性能即时通信能力,通过此功能一般可以实现网页即时聊天应用或网页消息推送技术。Coolpy7工具链提供了Websocket代理服务器,名为coolpy7_ws_poxy,同样也已经提供了docker镜像,以下为整个启动过程,由于内核所在的已运行镜像在IP:192.168.31.221:1883,因此我们在启动coolpy7_ws_poxy时需要在docker run 指令传递-r参数到应用程序。
同样使用MQTTLens工具连接时改用ws://方式连接到coolpy7_ws_poxy主系统的8083端口即可,测试镜像是否已经正常提供功能,由于此代理服务是桥接到Coolpy7内核,所以启动顺序应尽量先启动Coolpy7内核成功后再启动Coolpy7_ws_poxy服务。
本章两个镜像均使用Dcokerfile进行镜像打包,开源位于https://github.com/Coolpy7/Coolpy7/blob/master/Dockerfile
如需自行编译Docker镜像请参阅