Пожалуйста, начните читать серию с начала: habrahabr.ru/post/267441
Как не использовать Docker.
Чтобы понять эту статью, вам необходимо знать основные команды Dockerfile для создания образов и принципы объектно-ориентированного проектирования.Открываю документацию любого официального образа сервисного ПО — например, Nginx и нахожу раздел «Как использовать этот образ».
Нам предлагают создать свой образ на основе официального, скопировав в него наши файлы, настроить сопоставление портов с миром и смонтировать свою папку с конфигами.
Да, нам предлагают наследовать Model от View в одном звездочном классе и платить за хранение образов наших фирменных приложений в Docker Hub. Бизнес, как обычно.FROM .
COPY .
/usr/src/myapp WORKDIR /usr/src/myapp
То же самое нам предлагают сделать в образах PHP, Python, Ruby и так далее.
Для Python и Ruby даже сделаны версии с триггерами ONBUILD для построения образов-преемников, с помощью которых приложение из папки будет копироваться в новый образ, «который должен быть всем, что вам нужно» — размером 640 килобайт. К счастью, решение известно столько же, сколько и сама проблема.
«Банда четырех», создатель Java Джеймс Гослинг и Фаулер последние 20 лет говорили: используйте композицию вместо наследования.
Поэтому я поставлю рядом контейнеры с разными сервисами, создам адаптер, объект передачи данных и подключим их через конфиг.
Я использую наследование для расширения существующего функционала в рамках инкапсуляции с учетом принципа подстановки Лискова — например, для подключения к PHP нужных мне расширений и системных библиотек, использующих эти расширения.
Продолжение можно найти Здесь Теги: #docker #oop way #linux #системное администрирование #Архитектурное проектирование #Разработка веб-сайтов #Системный анализ и проектирование #ООП
-
Гиппарх
19 Oct, 24