Архитектура Docker,
если убрать лишнее, выглядит очень просто:
Есть образ (image) – это слепок приложения с зависимостями.
Один раз собрал – запускаешь где угодно.
Есть контейнер (container) – это уже запущенный образ.
По сути изолированный процесс с файловой системой, сетью и настройками.
Docker Engine – сердце всей системы.
Он принимает команды через CLI/API и управляет контейнерами.
Docker Daemon – фоновый процесс, который:
• создаёт контейнеры
• запускает их
• следит за состоянием
Docker Client – то, через что ты работаешь (docker CLI).
Docker Hub / Registry – место, где хранятся образы.
Оттуда ты делаешь pull, туда – push.
Как это работает в реальности:
Ты пишешь Dockerfile →
docker build → получаешь image
docker push → отправляешь в registry
На сервере:
docker pull → скачал
docker run → запустил контейнер
Зачем это:
Одинаковая среда везде (dev = prod)
быстрый деплой без «у меня работает»
изоляция сервисов
масштабирование через контейнеры
Если упростить до одной мысли:
Docker – это не про контейнеры.
Это про предсказуемый запуск кода в любой среде.
View Source
Просмотры: 22