LINUX.ORG.RU

docker - можно ли изменить существующий образ без добавления нового слоя?

 


0

1

Прочитал про docker с десяток статеек и не могу понять, как вообще такая архитектура имеет право на существование. Конкретнее - везде пишут, что готовый образ нельзя изменить, только наслаивать новые слои поверх него. Имхо, абсолютно неюзабельная система получается - может быть я что-то упускаю?

Пример: поставил, например, дебиан (слой1), обновил его (слой2), поверх второго параллельно накатил еще с десяток слоев (ну там, апач, мускуль, постгрес и все такое прочее). Вышло обновление дебиана. Получается, что слой2, от которого наследуется куча других, изменению не подлежит, значит надо накатывать обновления отдельно на каждый контейнер, даже если обновленный пакет заменяет существующий в самом первом слое... Получаем необходимость обновления десятка контейнеров и, соответственно, 10 копий одного и того же пакета (это еще не считая двух устаревших копий в первых двух слоях).

Про «схлопывания» читал, но в любом случае при этом мы получаем новый образ, а созданные контейнеры наследуются от старого...

Оно действительно так ужасно или я таки где-то чего-то недосмотрел?

Обновления накатываются один раз, получается базовый образ. Остальные образы просто пересобираются с нового базового. Контейнеры не обновляются, а заменяются новыми.

anonymous
()

Конкретнее - везде пишут, что готовый образ нельзя изменить, только наслаивать новые слои поверх него.

Это не обязательная возможность docker. Не хочешь — не используй.

KRoN73 ★★★★★
()

По-моему у тебя каша в голове из образов и контейнеров. Попробуй почитать не статейки, а документацию.

staseg ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.