Skip to content

Swarm Configs

利用 swarm configs 用户可以按照实际需要配置 FreeMQTT plus 行为,如更改 CA 证书等。

创建 swarm configs 对象的脚本

create-config.sh

sh
#!/bin/bash
docker config create freemqtt_license ./conf.d/license.toml
docker config create freemqtt_conf ./conf.d/config.toml
docker config create freemqtt_conf2 ./conf.d/config-with-nginx.toml
docker config create freemqtt_cert ./ssl/freemqtt.cn.crt
docker config create freemqtt_key ./ssl/freemqtt.cn.key
docker config create nginx_conf ./nginx/nginx.conf

这个脚本必须在 docker stack deploy ... 之前执行一次。 如果上述 6 项有更改,则需要删除对应的 config 对象, 然后 create 并 update

例如更新 nginx.conf 文件可执行如下命令:

sh
# 1. 删除旧配置
docker config rm nginx_conf

# 2. 创建新配置
docker config create nginx_conf ./nginx/new-nginx.conf

# 3. 更新服务(自动滚动更新,无 downtime)
docker service update --config-rm nginx_conf --config-add source=nginx_conf,target=/etc/nginx/nginx.conf freemqtt_nginx