在 Docker 中打开 ejabberd 默认配置 (conf) 文件的命令
Command to open ejabberd default configuration (conf) file in Docker
我正在尝试访问 docker 中 ejabberd 的默认配置文件来定义我的管理员用户,正如在 Linux 或 Windows 中使用 putty[=14 完成的那样=]
# sudo vi /opt/ejabberd-16.09/conf/ejabberd.yml
我正在关注 ejabberd-docker 文档并发现很有帮助 material
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
运行,因此您不应尝试使用 putty 连接到容器。
而是列出您的容器:
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
或
只需执行 cat
即可查看文件内容,甚至无需使用交互式终端:
docker exec 2570a852e4c1 cat /home/ejabberd/conf/ejabberd.yml
根据您的 docker run
命令,您正在将 ejabberd.yml
文件从主机的工作目录(相对于您 运行 命令所在的位置)安装到位于 /home/ejabberd/conf/ejabberd.yml
.
在容器内更改此文件将更改主机上的文件和 vice-versa,因此您可以直接在主机上浏览或编写该配置。
我正在尝试访问 docker 中 ejabberd 的默认配置文件来定义我的管理员用户,正如在 Linux 或 Windows 中使用 putty[=14 完成的那样=]
# sudo vi /opt/ejabberd-16.09/conf/ejabberd.yml
我正在关注 ejabberd-docker 文档并发现很有帮助 material
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
运行,因此您不应尝试使用 putty 连接到容器。
而是列出您的容器:
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
或
只需执行 cat
即可查看文件内容,甚至无需使用交互式终端:
docker exec 2570a852e4c1 cat /home/ejabberd/conf/ejabberd.yml
根据您的 docker run
命令,您正在将 ejabberd.yml
文件从主机的工作目录(相对于您 运行 命令所在的位置)安装到位于 /home/ejabberd/conf/ejabberd.yml
.
在容器内更改此文件将更改主机上的文件和 vice-versa,因此您可以直接在主机上浏览或编写该配置。