You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker环境下ejabberd执行reload_config无法动态添加vhost求助

Docker中ejabberd/ecs镜像动态添加VHost不生效问题

我在Docker环境使用ejabberd/ecs镜像,需要动态创建VHost,操作步骤如下:

  • 通过脚本编辑ejabberd.yml添加vhost条目;
  • 执行docker exec -it ejabberd bin/ejabberdctl reload_config重载配置,按ejabberd官方文档说明,该操作支持添加/移除vhost;
  • 执行docker exec -it ejabberd bin/ejabberdctl registered_vhosts查看vhost列表。

但执行后registered_vhosts仅显示修改前的vhost,只有执行docker compose down && docker compose up -d重启容器后,才能看到新增的vhost。已确认ejabberd.yml语法正确,重启时日志能正常初始化所有vhost(包括ACME相关配置),但执行reload_config时日志无任何变更提示。

补充:问题似乎与使用sed编辑文件的方式有关,执行sed -i "/<new-line-tag>/i \ \ - $NEW_DOMAIN" ejabberd.yml后,即便改用vi编辑文件,变更也无法被ejabberd识别。

修改后的ejabberd.yml配置

hosts:
  - a.chat.preprod.example.app
  - b.chat.preprod.example.app
  - c.chat.preprod.example.app
  - d.chat.preprod.example.app
  # <new-line-tag> 
 

docker-compose.yml配置

version: '3.7'

services:

  main:
    image: ejabberd/ecs
    container_name: ejabberd
    ports:
      - "5222:5222"
      - "5269:5269"
      - "5280:5280" # ACME Well known path
      - "5443:5443"
    volumes:
      - ./ejabberd.yml:/home/ejabberd/conf/ejabberd.yml
      - ./database:/home/ejabberd/database

内容的提问来源于stack exchange,提问作者Gabriel Glenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 02:37:13