Назад | Перейти на главную страницу

Подключите новый том к экземпляру докера

У меня есть веб-сайт, работающий в докере. На сайте есть папка с документами, которой требуется больше места для хранения. Итак, я создал новый том на 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