Хорошо, поэтому я был близко,
Чтобы создать том в Docker, вам нужно выбрать каталог на сервере и папку из приложения.
проблема для меня была, я показываю неправильный каталог в приложении. Поскольку в контейнере Docker, скажем, корневая папка находится в / app / root, как и моя папка xml, все, что мне нужно было исправить, это использовать docker run -p 3000:80 -v ~mnt/files/xml:/app/xml mydockerid/appname:tag
вместо docker run -p 3000:80 -v ~mnt/files/xml:/xml mydockerid/appname:tag
, первый каталог всегда с сервера, а второй всегда из приложения.
Что касается объемов в цифровом океане:
Перейти к томам под управлением слева.
Нажмите кнопку Создать громкость в правом верхнем углу.
Выберите конфигурацию тома, затем прикрепите ее к капле.
чтобы смонтировать его:
$ mkdir -p /mnt/files
# Mount your volume at the newly-created mount point:
$ mount -o discard,defaults,noatime /dev/disk/by-id/scsi-0DO_volume_name /mnt/files
# Change fstab so the volume will be mounted after a reboot
$ echo '/dev/disk/by-id/scsi-0DO_volume_name /mnt/files ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab
Digital Ocean на самом деле покажет все эти команды с именами ваших томов, если вы перейдете в раздел «Инструкция по настройке» в разделе «Дополнительно» на томе.
Затем, поскольку мой том DO монтируется в / mnt / files, я подключаюсь к серверу через filezila, помещаю необходимые файлы в папку с именем "xml" и запускаю контейнер докера с docker run -p 3000:80 -v ~mnt/files/xml:/xml mydockerid/appname:tag
, теперь все, что находится в папке xml на сервере , будет прочитано в нем внутри моего приложения, папка с именем xml, и я могу обновить приложение, и папка никогда не потеряет данные. Также я могу переместить этот том DO в другую каплю DO без потери данных.