Prog Academy
RU UA
DevOps и облака

Что такое Docker?

Docker — инструмент, который упаковывает приложение вместе со всем окружением — кодом, зависимостями, настройками — в контейнер. Такой контейнер запускается одинаково на компьютере разработчика, на тестовом стенде и на сервере.

Docker закрывает классическую проблему «у меня локально работает». Инструкция сборки описывается в файле Dockerfile, из неё создаётся образ, а из образа — сколько угодно одинаковых контейнеров.

Практическая выгода видна сразу: новый разработчик поднимает проект одной командой вместо дня настройки, тестовое окружение точно повторяет продакшен, а обновление сводится к запуску нового образа. Для локальной работы с несколькими сервисами используют Docker Compose.

Связанные термины

Container

Контейнер — изолированная среда, в которой приложение запускается вместе со своими зависимостями, но использует ядро операционной системы хоста. Внутри контейнера программа «видит» только собственные файлы и процессы.

Kubernetes

Kubernetes — система оркестрации контейнеров: она сама запускает нужное количество контейнеров на группе серверов, перезапускает упавшие, распределяет нагрузку и выкатывает обновления без остановки сервиса.

DevOps

DevOps — подход к разработке, в котором создание программы и её эксплуатация объединены в один процесс: та же команда отвечает и за код, и за то, как он собирается, разворачивается и работает на серверах. Цель — выпускать изменения часто, быстро и безопасно.

CI/CD

CI/CD — автоматический конвейер, через который проходит каждое изменение кода: сборка, запуск тестов и доставка готовой версии на серверы. Разработчик отправляет код в репозиторий, а всё остальное происходит без ручных действий.

Microservices

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