#docker #ejabberd
#docker #ejabberd
Вопрос:
Я пытаюсь получить доступ к файлу конфигурации ejabberd по умолчанию в docker, чтобы определить моего администратора, как это делается в Linux или в Windows с помощью putty
# 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
но не удается найти точную команду для открытия файла conf по умолчанию для ejabberd в docker, как это делается с помощью Putty или в системе Linux. спасибо за ваше время и помощь
Ответ №1:
Обычно контейнеры не 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
.
Изменение этого файла внутри контейнера приведет к изменению файла на хосте и наоборот, поэтому вы можете изучить или записать эту конфигурацию непосредственно на хосте.