У меня есть веб-сайт, работающий в докере. На сайте есть папка с документами, которой требуется больше места для хранения. Итак, я создал новый том на AWS. Я вижу это от ведущего с lsblk
, вот так:
$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 20G 0 disk
В структуре веб-сайта внутри контейнера докеров я хотел бы смонтировать диск к:
/var/www/localhost/htdocs/sites/default/documents/
Обычно я бы использовал следующее:
sudo mount /dev/xvdf /var/www/localhost/htdocs/sites/default/documents/
Но поскольку он находится в контейнере докера, я немного не понимаю, как его подключить. Как я могу смонтировать диск в указанный каталог?
Докер для меня новичок. Я почти не слышал об этом несколько недель назад. Я могу контролировать sh
в контейнер и также перезапустите его.
Сначала смонтируйте устройство в каталог:
sudo mount /dev/xvdf /mnt
Затем вам нужно запустить контейнер с параметром, который соединяет ваш том (каталог) с каталогом контейнера:
docker run -d \
--name devtest \
-v /mnt:/var/www/localhost/htdocs/sites/default/documents \
nginx:latest
https://docs.docker.com/storage/bind-mounts/#start-a-container-with-a-bind-mount
Или с docker-compose.yml:
devtest:
image: nginx:latest
volumes:
- /mnt:/var/www/localhost/htdocs/sites/default/documents
Взгляните на этот вопрос для получения дополнительной информации о различных типах монтирования в Docker: В чем разница между созданием тома или монтированием в контейнерах докеров?
Сначала вам нужно установить том в локальную папку на вашем «хост-сервере», а затем вы можете подключить его к своему док-контейнеру.
Наконец разобрался.
Во-первых, мне нужно было выяснить, как именно был запущен экземпляр. По этой команде:
./docker-compose up -d --build
В том же каталоге был файл docker-compose.yml, поэтому я добавил следующую строку в основной сервис (а не на верхний уровень):
- /mnt:/var/www/localhost/htdocs/sites/default/documents
Остановлен экземпляр Примонтирован диск:
sudo mount /dev/xvdf /mnt
Перезагрузили контейнер:
./docker-compose up -d --build
помещен в экземпляр докера, а проверенный том смонтирован с помощью:
df