среда, 15 февраля 2023 г.

Docker: volumes, bind vs volume

https://maximorlov.com/docker-compose-syntax-volume-or-bind-mount/

https://docs.docker.com/storage/

Есть 4 вида "внешнего" хранения: volume, bind, tmpfs, named pipes. Обычно используются первые три, но tmpfs это "диск в памяти" - место ограничено рам, при перезагрузке очищается.. для чего-то временного. А вот для постоянного хранения - первые два. И разницы на самом деле не так много, volume можно управлять через docker volume, и описывать в конфиге как new_volume:/app/data. При этом, если указать в первой части полный путь, то если нет такого файла/каталога то будет создан каталог, если есть то просто подцепит. Если путь не полный то будет в /var/lib/docker/volumes/, а если первую часть (имя опустили) то /.../some_uuid. Но инфу можно получить через docker volume ls

В случае бинда всё проще, создаётся обычный mount bind, если каталога нет - будет ошибка, плюс если это не RO вольюм то его обязательно описывать ещё и в главном блоке в отдельном volume, иначе будет ошибка. Так же, данный вид более опасен тем, что можно примонтировать например /etc

Комментариев нет:

Отправить комментарий