EMQX服务docker-compose启动

发布时间 2023-08-28 10:14:07作者: 成佛在西天

问题描述

  按照一般的yml文件启动后,发现EMQX却一直在重启,日志里显示“没有权限创建文件夹或写数据”、“文件找不到”等错误;

 

正确安装步骤

  1、创建临时EMQX容器

docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest

  2、在服务器上创建EMQX挂载目录并拷贝到服务器

mkdir -p /data/docker/emqx/{bin,etc,lib,data,log}
# 将临时EMQX容器的文件拷贝到服务器
docker cp emqx:/opt/emqx/bin /data/docker/emqx
docker cp emqx:/opt/emqx/etc /data/docker/emqx
docker cp emqx:/opt/emqx/lib /data/docker/emqx
docker cp emqx:/opt/emqx/data /data/docker/emqx
docker cp emqx:/opt/emqx/log /data/docker/emqx

  3、修改挂载目录权限

chown -R 1000:1000 /data/docker/emqx/
chmod -R 755 /data/docker/emqx/

  4、删除临时EMQX容器

docker rm -f emqx

  5、创建docker-compose.yml文件

version: '3'
services:
  emqx:
    container_name: emqx
    image: emqx/emqx:latest
    restart: always
    privileged: true
    ports:
        - 18083:18083
        - 1883:1883
        - 8883:8883
        - 8083:8083
        - 8084:8084
        - 8081:8081
    volumes:
        - /data/docker/emqx/bin:/opt/emqx/bin
        - /data/docker/emqx/etc:/opt/emqx/etc
        - /data/docker/emqx/lib:/opt/emqx/lib
        - /data/docker/emqx/data:/opt/emqx/data
        - /data/docker/emqx/log:/opt/emqx/log

  6、启动EMQX容器

docker-compose up -d

 

参考文章

  https://www.cnblogs.com/smartlife/articles/17287854.html