首页 > 其他分享 >基于docker的emqx,数据持久化,防止重启配置丢失

基于docker的emqx,数据持久化,防止重启配置丢失

时间:2024-03-08 13:55:05浏览次数:20  
标签:opt ... 丢失 本地 emqx docker 目录

docker中运行的emqx,采用在內置账号、密码进行身份认证的情况下,如果容器重启,那么上述配置将丢失。

一下操作基于emqx 4.4.19

1、先运行emqx docker容器

docker run -d --name emqx emqx/emqx:4.4.19

2、将容器中的emqx的配置copy到本地:

docker cp emqx:/opt/emqx/etc /...本地目录.../emqx
docker cp emqx:/opt/emqx/lib /...本地目录.../emqx
docker cp emqx:/opt/emqx/data /...本地目录.../emqx
docker cp emqx:/opt/emqx/log /...本地目录.../emqx

3、设置emqx、配置內置账号

修改/...本地目录.../emqx/etc/emqx.conf

找到 allow_anonymous = true 改为allow_anonymous = false,禁用匿名连接
配置Mnesia账户
修改/...本地目录.../emqx/etc/plugins/emqx_auth_mnesia.conf,配置认证账号

 

4、修改本地目录权限

$ chown -R 1000:1000 /...本地目录.../emqx/
$ chmod -R 755 /...本地目录.../emqx/

 

5、重新运行容器并挂载目录

停止并删除之前的容器,使用一下配置重启开始容器。

version: "3.8"
services:
  emqx:
    image: emqx/emqx:4.4.19
    restart: always
    container_name: emqx
    environment:
      EMQX_ADMIN_PASSWORD: [email protected]
      TZ: Asia/Shanghai
    networks:
      - base-net
    volumes:
      - /...本地目录.../etc:/opt/emqx/etc
      - /...本地目录.../data:/opt/emqx/data
      - /...本地目录.../lib:/opt/emqx/lib
      - /...本地目录.../log:/opt/emqx/log

networks:
  base-net:
    external: true
docker-compose up -d

 

参考文章:

https://juejin.cn/post/7248412998577668152

https://www.cnblogs.com/virtulreal/p/14431704.html

标签:opt,...,丢失,本地,emqx,docker,目录
From: https://www.cnblogs.com/dw039/p/18060819

相关文章

  • Linux环境下Docker部署.Net8应用
    ......
  • docker安装zipkin
    命令如下,调整后执行即可:dockerrun--namezipkin\-p9411:9411\--restart=always\-eSTORAGE_TYPE=mysql\-eMYSQL_HOST=ip地址\-eMYSQL_TCP_PORT=3306\-eMYSQL_DB=连接数据库名称\-eMYSQL_USER=root\-eMYSQL_PASS=数据库密码\-dopenzipkin/zipkin:2.24......
  • docker安装MongoDB
    需注意,docker版本不能太低,否则执行会报:missingsignaturekey(缺少签名密钥):需要重新安装docker,所以docker最开始最好安装新版本:yuminstalldocker-ce-y参考的链接:https://www.4vsy.com/article/231.html,https://blog.csdn.net/qq_25430563/article/details/127977667doc......
  • docker安装nacos
    如下,目录配置自行创建、调整dockerrun--namenacos-2.1.0\-p8848:8848\-p9848:9848\-p9849:9849\--privileged=true\--restart=always\-eJVM_XMS=256m\-eJVM_XMX=256m\-eMODE=standalone\-eTIME_ZONE='Asia/Shanghai'\-ePREFER_HOST_......
  • python3代码转换成docker镜像启动
    1.打包成docker镜像来使用切到Tags,搜索3.11选择python:3.11.4-slim-bullseye2.在压测脚本的根目录中,创建Dockerfile文件: FROMpython:3.11.4-slim-bullseyeWORKDIR/opt/appCOPYrequirements.txt./ENVhost=nullENVport=nullENVonlyResetJob=nullRUNpip......
  • Docker搭建Mysql集群
    一、新建主服务器示例3307dockerrun-p3307:3306--namemysql-master\-v/docker-volume/mysql-master/log:/var/log/mysql\-v/docker-volume/mysql-master/data:/var/lib/mysql\-v/docker-volume/mysql-master/conf:/etc/mysql\-eMYSQL_ROOT_PASSWORD=root\-d......
  • Docker之CPU和内存磁盘设置(八)
    前言Docker基本掌握使用方式,但是在限制其资源方面还没有接触。本篇就简单介绍一下有关CPU、内存等配置。让每个容器的资源分配更加合理,也能够避免一些容器遇到内存泄漏,CPU过载等问题影响其他容器的正常运行。一、配置文件Docker中,配置文件可以用来调整守护进程的行为,包......
  • docker commit命令,本地镜像生成
    1.本地镜像生成dockercommit-m"commitInfo"-a="authorName"containerId新创建的目标镜像名:[标签名]  镜像的提交,可以让我们不断去叠加镜像: https://www.bilibili.com/video/BV1gr4y1U7CY?p=25&spm_id_from=pageDriver&vd_source=7ce721b64f52f392bdafe83543918639......
  • Docker搭建Redis集群
    一、创建Redis网络dockernetworklsdockernetworkcreateredis--subnet192.168.100.0/24dockernetworkinspectredis二、创建Redis配置文件forportin$(seq16);\do\mkdir-p/docker-volume/redis-cluster/node-${port}/conftouch/docker-volume/redis-c......
  • docker镜像分层概念
          ......