
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
借助此镜像,您可以使用Docker镜像中提供的依赖构建ejabberd,无需在本地机器上直接安装构建软件(除Docker外)。
请注意,此镜像可能无需修改即可用于构建其他Erlang或Elixir软件。
您可以使用以下命令从源码构建ejabberd及其所有依赖:
bashgit clone https://github.com/processone/ejabberd.git cd ejabberd docker run --rm -v $(pwd):$(pwd) -w $(pwd) ejabberd/mix do deps.get, deps.compile, compile
如果您未安装Git,也可以执行以下操作:
bashwget https://github.com/processone/ejabberd/archive/master.zip unzip master.zip cd ejabberd-master docker run --rm -v $(pwd):$(pwd) -w $(pwd) ejabberd/mix do deps.get, deps.compile, compile
您可以通过编辑config/ejabberd.yml文件来自定义配置。默认情况下,您可以在"localhost"域上运行ejabberd并附加控制台:
bashdocker run --rm -it -p 5222:5222 -p 5280:5280 -v $(pwd):$(pwd) -w $(pwd) --entrypoint="/usr/bin/iex" ejabberd/mix -S mix
然后,您可以从Elixir shell创建用户:
bashErlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false] Interactive Elixir (1.3.4) - press Ctrl+C to exit (type h() ENTER for help) iex(1)> :ejabberd_auth.try_register("test", "localhost", "passw0rd") {:atomic, :ok}
之后,您可以使用用户test@localhost(密码:passw0rd)连接到本地主机的5222端口的服务器,使用XMPP客户端进行连接。
如果您想运行Erlang命令行,可以通过在容器内打开shell来实现:
bashdocker run -it -v $(pwd):$(pwd) -w $(pwd) --entrypoint="/bin/sh" ejabberd/mix
bashdocker run -it --rm -v $(pwd):$(pwd) -w $(pwd) ejabberd/mix --version Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:2:2] [async-threads:10] [kernel-poll:false] Mix 1.3.4
如果您只是想使用此镜像,则无需构建它。您可以直接使用https://hub.docker.com/u/ejabberd/dashboard/%E4%B8%8A%E7%9A%84%E9%95%9C%E5%83%8F%E3%80%82
bashdocker build -t ejabberd/mix .
如果您收到有关文件时间戳不同步的警告(如“检测到时钟偏差”),您可能需要在运行构建之前强制同步时钟。MacOS上的Docker在笔记本电脑休眠后不会强制同步Docker的时钟。
您可以通过以下命令强制时钟同步:
bashdocker run -it --rm --privileged --entrypoint="/sbin/hwclock" ejabberd/mix -s
您可以通过以下命令检查您的笔记本电脑时钟是否与Docker内部的时钟同步:
bashdocker run --rm --entrypoint="/bin/sh" ejabberd/mix -c date -u && date -u
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务