微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Docker中打开ejabberd默认配置conf文件的命令

如何解决在Docker中打开ejabberd默认配置conf文件的命令

我正在尝试在docker中访问ejabberd的配置文件来定义我的管理员用户,就像在Linux或Windows中使用腻子一样

# sudo vi /opt/ejabberd-16.09/conf/ejabberd.yml

我正在关注ejabberd-docker文档,并发现了非常有帮助的材料

docker run -d --name ejabberd -v $(pwd)/ejabberd.yml:/home/ejabberd/conf/ejabberd.yml -v $(pwd)/database:/home/ejabberd/database -p 5222:5222 ejabberd/ecs

但无法找到确切的命令来在docker中打开ejabberd的认conf文件,就像使用Putty或在Linux系统中那样。感谢您的时间和帮助

解决方法

通常,容器没有运行sshd,因此您不应尝试使用腻子连接到容器。

相反,列出您的容器:

docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                           NAMES
2570a852e4c1        ejabberd/ecs        "/home/ejabberd/bin/…"   2 minutes ago       Up 2 minutes        1883/tcp,4369-4399/tcp,5269/tcp,5280/tcp,5443/tcp,0.0.0.0:5222->5222/tcp   ejabberd

然后使用交互式终端(-it)进入容器并探索事物:

docker exec -it 2570a852e4c1 sh

然后检查文件内容:

~ $ cat /home/ejabberd/conf/ejabberd.yml
###
###              ejabberd configuration file
###
### The parameters used in this configuration file are explained at
###
###       https://docs.ejabberd.im/admin/configuration

OR

只需执行cat即可查看文件的内容,甚至无需使用交互式终端:

docker exec 2570a852e4c1 cat /home/ejabberd/conf/ejabberd.yml

根据您的docker run命令,您正在将ejabberd.yml文件从主机的工作目录(相对于运行命令的位置)装入/home/ejabberd/conf/ejabberd.yml的容器中。 br /> 在容器内更改此文件将更改主机上的文件,反之亦然,因此,您可以直接在主机上浏览或写入该配置。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。