EMQX的Docker持久化方法 首先,使用不带volume的yml配置文件,必须设置NODE_NAME和NODE_HOST环境变量,用来保持EMQX的唯一性。下面是docker-compose.yml: ``` version: "3" services: emqx: container_name: emqx image: emqx/emqx:v4.0.0 networks: cloud: aliases: - emqx environment: - EMQX_NAME=mqtt - EMQX_HOST=10.20.30.40 ports: - "1883:1883" networks: cloud: external: true ``` 启动容器成功后,需要将容器里的相应文件夹拷贝到持久化的位置上: ``` docker cp emqx:/opt/emqx/etc ~/emqx/etc docker cp emqx:/opt/emqx/lib ~/emqx/lib docker cp emqx:/opt/emqx/data ~/emqx/data docker cp emqx:/opt/emqx/log ~/emqx/log ``` 然后更改这几个文件夹的Owner、Group、权限: ``` cd ~/emqx chown -R 1000:1000 data etc lib log chmod -R 775 data etc lib log ``` 修改docker-compose.yml,添加volume映射: ``` volumes: - $HOME/emqx/lib:/opt/emqx/lib - $HOME/emqx/etc:/opt/emqx/etc - $HOME/emqx/data:/opt/emqx/data - $HOME/emqx/log:/opt/emqx/log ``` 移除旧的容器,重新创建一个容器即可。 链接:https://www.jianshu.com/p/551d94db8823
《EMQX的Docker持久化方法》上暂无评论!