docker离线安装emqx(麒麟aarch64)

最近需要在麒麟系统安装emqx,由于emqx没有麒麟系统的安装包且源码编译依赖版本较难管理,因此采用docker容器化部署,现在回忆总结一下emqx的docker离线部署步骤。这里是麒麟系统离线安装docker和docker-compose的步骤:https://www.cnblogs.com/scales123/p/19279303

1 准备工作

我安装的5.8.7版本

1.1 下载镜像

选择对应的架构和版本
https://www.emqx.com/zh/downloads/broker
图片

1.2 准备docker-compose.yml

services:
emqx:
  image: emqx/emqx:5.8.7
  container_name: emqx
  restart: always
  environment:
  - TZ=Asia/Shanghai
  ports:
  - 1883:1883 # MQTT 协议端口
  - 8083:8083 # WebSocket 协议端口
  - 8084:8084 # 安全 WebSocket 协议端口
  - 8883:8883 # 安全 MQTT 协议端口
  - 18083:18083 # Dashboard 管理界面端口
volumes:
- /opt/docker/emqx/data:/opt/emqx/data
- /opt/docker/emqx/log:/opt/emqx/log

2 安装emqx

2.1 创建容器

以下命令逐步执行

// 加载镜像
docker load -i emqx-5.8.7-docker-amd64.tar.gz

// 查看镜像是否加载成功
docker images

// 创建文件夹,用于存放配置文件挂载
mkdir -p /opt/docker/emqx/etc
mkdir -p /opt/docker/emqx/data
mkdir -p /opt/docker/emqx/log

// 启动一个临时的容器,用于复制文件(不用管容器有没有启动)
docker run -d --name emqx_temp emqx/emqx:5.8.7

// 从临时容器中复制整个配置目录到宿主机的挂载目录
docker cp emqx_temp:/opt/emqx/etc /opt/docker/emqx/etc

// 将整个目录授权
chmod -R 775 /opt/docker/emqx/

// 删除临时容器
docker rm emqx_temp

2.2 启动容器

2.2.1 通过docker-compose命令启动(推荐)

// 将docker-compose.yml文件放入/opt/docker目录
cd /opt/docker
// 以守护进程启动容器
docker-compose up -d

2.2.2 通过docker run命令启动

docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 -e TZ=Asia/Shanghai -v /opt/docker/emqx/etc:/opt/emqx/etc -v /opt/docker/emqx/data:/opt/emqx/data -v /opt/docker/emqx/log:/opt/emqx/log emqx/emqx:5.8.7

2.3 查看容器是否启动成功

// 查看容器状态
docker-compose ps

// 查看容器日志
docker-compose logs
docker-compose logs emqx
docker-compose logs -f emqx

// 浏览器页面访问控制台 默认账户和密码是admin/public
http://localhost:18083

3 参考

https://blog.csdn.net/solidsh/article/details/151215188

posted @ 2025-11-27 20:49  scales123  阅读(0)  评论(0)    收藏  举报