Выбор ответа Senior Сети и тома обновлено
Пустой том и bind mount поверх данных образа
Вопрос
В образе по пути /app/static лежат файлы. Что увидит контейнер в этом каталоге, если подключить к нему (а) новый пустой именованный том, (б) пустой каталог хоста через bind mount?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: (а) файлы образа, их копирует Docker; (б) пусто, bind mount их перекрывает. При первом подключении пустого именованного тома Docker заполняет его содержимым образа по этому пути.
Варианты ответа
- (а) пусто, (б) пусто: любое монтирование перекрывает каталог образа
- (а) файлы образа, (б) файлы образа: Docker копирует их при монтировании
- (а) файлы образа, их копирует Docker; (б) пусто, bind mount их перекрываетправильный ответ
- (а) пусто, том новый; (б) файлы образа: Docker копирует их на хост
Разбор
При первом подключении пустого именованного тома Docker заполняет его содержимым образа по этому пути. Bind mount ничего не копирует, а просто показывает каталог хоста поверх, скрывая файлы образа. Отсюда частая ошибка: смонтировали пустую папку хоста в каталог со статикой или конфигами образа, и приложение их «потеряло».
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.