Данные в контейнере живут ровно до его удаления, поэтому всё ценное выносится наружу. Способов два, и их постоянно путают. Именованный том управляется самой платформой: он создаётся автоматически, лежит в служебном каталоге и переживает пересоздание контейнера. Привязка каталога подключает конкретную папку с машины внутрь.
Для баз данных обычно берут именованный том: не надо думать о путях и владельце файлов, а скорость предсказуема. Для разработки удобнее привязка каталога — правишь код на своей машине и сразу видишь результат внутри.
Главная боль привязок — права доступа. Процесс внутри контейнера работает под своим идентификатором пользователя, и он может не совпадать с владельцем файлов снаружи. Отсюда классический отказ в доступе на пустом месте и файлы, созданные контейнером, которые потом нельзя удалить обычным пользователем.
Отдельно стоит помнить: удаление контейнера не удаляет том. Забытые тома копятся месяцами и незаметно съедают диск 📉
Docker на Практике
@docker_practice_ru_n1k
Данные в контейнере живут ровно до его удаления, поэтому всё ценное выносится наружу. Способов два, и их посто
Этот пост опубликован в Telegram-канале Docker на Практике. Подписаться можно по ссылке: @docker_practice_ru_n1k.