Ну, я только что сделал резервную копию и проверил, можно ли найти её за пределами виртуальной машины Docker, но не получилось.
vagrant@ubuntu-xenial:~$ sudo docker inspect -f "{{.Mounts}}" discourse
[{bind /var/discourse/shared/standalone /shared true rprivate} {bind /var/discourse/shared/standalone/log/var-log /var/log true rprivate}]
Да, но я пока проигнорировал это. Кстати, rsync выполнялся вне (vagrant) машины, на которой запускался мой Discourse.
Но пока, как вы и посоветовали, я сделал следующее:
- подключился к машине через
vagrant sshи изнутри:- сделал резервную копию с помощью
sudo docker exec -w /var/www/discourse -i discourse discourse backup - заметил путь к файлу:
Выходной файл находится в: /var/www/discourse/public/backups/default/discourse-2020-05-14-125606-v20200512064023.tar.gz - искал этот конкретный файл по всей машине vagrant, но ничего не нашёл
find / -name discourse-2020-05-14-125606-v20200512064023.tar.gz 2>/dev/null - однако, если зайти внутрь контейнера Docker, файл там есть
root@ubuntu-xenial-discourse:/var/www/discourse/public/backups/default# ls discourse-2020-05-14-120436-v20200512064023.tar.gz discourse-2020-05-14-121930-v20200512064023.tar.gz discourse-2020-05-14-121710-v20200512064023.tar.gz discourse-2020-05-14-125606-v20200512064023.tar.gz
- сделал резервную копию с помощью
Так что мой вопрос: если я создаю резервную копию, должен ли я видеть её извне Docker?
Тем временем я просто создал виртуальную машину vagrant и выполнил git clone изнутри в стандартную директорию /var/discourse. Единственная “странность” в том, что у меня внутри контейнера есть файл discourse.yml, а не app.yml.