РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcPmStNt 6 of 81 menu
◀ ▶

Контейнер в Docker

Образ сайта уже лежит на диске. Вы запускаете из него сайт и правите: удаляете картинку, записываете в файл черновик. Потом запускаете тот же образ ещё раз, чтобы показать коллеге исходный сайт. Кажется, второй запуск увидит правки: образ-то один. На деле у коллеги картинка на месте, черновика нет. Ваши файлы остались только в первом запуске. Образ не превратился в уже отредактированный сайт. Третий запуск снова получает исходные файлы.

Каждый такой запуск - отдельный контейнер. Образ - общая заготовка на диске. Контейнер - рабочая копия, которую служба собрала из заготовки и держит отдельно. Правки живут в копии. Заготовка для следующего запуска остаётся прежней.

Удобно помнить это как класс и объект. Образ похож на класс: в нём описано, из чего состоит программа и чем она запускается. Контейнер похож на объект этого класса. Из одного класса создают сколько угодно объектов, и поле одного не становится полем другого.

То же с программами внутри. Соседний контейнер не видит чужие процессы и чужие файлы. Поэтому один контейнер может держать одну версию PHP, а стоящий рядом - другую. В обычную систему эти версии не устанавливаются. Они не делят одну копию PHP на компьютере и не ломают друг друга.

У контейнера своя запись на хосте. Служба помнит эту копию отдельно от образа: имя, файлы, которые успели появиться внутри. Пока запись есть, это отдельная среда. Образ остаётся общим шаблоном и не становится чьим-то одним контейнером.

Объясните разницу между образом и контейнером на примере класса и объекта.

В одном контейнере из образа магазина удалили файл. Напишите, увидит ли этот файл второй контейнер из того же образа и останется ли файл в самом образе.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить