Выбор ответа Middle Образы и слои обновлено
Запись в файл из слоя образа
Вопрос
Контейнер меняет файл /etc/nginx/nginx.conf, который пришёл из слоя образа. Что происходит?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Файл копируется в записываемый слой контейнера и меняется там (copy-on-write). Слои образа только для чтения.
Варианты ответа
- Файл меняется прямо в слое образа, и изменения увидят все контейнеры из него
- Файл копируется в записываемый слой контейнера и меняется там (copy-on-write)правильный ответ
- Запись запрещена: слои образа read-only, и контейнер получит ошибку
EROFS - Docker создаёт новый образ с изменённым файлом и переключает контейнер на него
Разбор
Слои образа только для чтения. OverlayFS при первой записи копирует файл в верхний записываемый слой контейнера (copy-up), дальше изменения живут там и пропадут при удалении контейнера. Ошибка read-only бывает, только если контейнер запущен с --read-only. Новый образ появится лишь при docker commit или сборке.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.