Docker
Docker — докер (платформа контейнеризации)
Суть в одном предложении
Docker — это платформа контейнеризации, позволяющая запускать приложения в изолированной среде с предсказуемым окружением.
Краткое определение
Docker — это инструмент для упаковки приложения и его зависимостей в контейнер, который можно запускать одинаково на любой системе с установленным Docker Engine.
Оригинал и перевод
- Язык: английский
- Оригинал: Docker
- Буквальный перевод: название не переводится (торговая марка)
Синонимы и варианты написания
- Docker Engine
- Docker container
- Контейнер Docker
Происхождение
Docker был представлен в 2013 году как инструмент поверх Linux-контейнеров (LXC). Он упростил контейнеризацию и сделал её массовой.
Где используется
- Backend-разработка
- Frontend-сборка
- CI/CD
- Микросервисы
- Dev / Test окружения
- Облачная инфраструктура
Когда это важно
Docker критичен, когда:
- нужно одинаковое окружение у всех разработчиков
- требуется воспроизводимый деплой
- проект имеет много зависимостей
- инфраструктура масштабируется
Подробное объяснение
Docker упаковывает:
- Код приложения
- Runtime (PHP, Node, Python)
- Зависимости
- Конфигурацию
Всё это превращается в образ (image).
Контейнер — это запущенный экземпляр образа.
Основные понятия
- Image — шаблон контейнера
- Container — запущенный процесс
- Dockerfile — инструкция сборки
- Volume — постоянное хранилище
- Network — внутренняя сеть контейнеров
Пример Dockerfile
FROM php:8.2-fpm WORKDIR /var/www COPY . . RUN docker-php-ext-install pdo_mysql CMD ["php-fpm"]
Сборка:
docker build -t my-app .
Запуск:
docker run -d -p 9000:9000 my-app
Чем Docker отличается от виртуальной машины
Виртуальная машина:
- Полноценная ОС
- Отдельное ядро
- Больше ресурсов
Docker:
- Использует ядро хоста
- Лёгкий
- Быстрый старт
Где Docker особенно полезен
- Laravel + MySQL + Redis стек
- WordPress + Nginx + PHP-FPM
- CI-сборки
- Локальная разработка
Что не является Docker
- Виртуальная машина
- Kubernetes (это оркестратор)
- Облачный сервер
Docker — это контейнерная платформа.
Аналоги и связанные термины
- Containerization
- Docker Compose
- Kubernetes
- Image
- Volume
- CI/CD
Пример использования
«Проект запускается через Docker Compose: php-fpm, nginx и mysql в отдельных контейнерах.»
Мини-FAQ
Docker — это виртуализация? Нет. Это контейнеризация на уровне ОС.
Можно ли использовать Docker в продакшене? Да, при правильной архитектуре и оркестрации.
Смотри также
- Docker Compose
- Kubernetes
- CI/CD
- Containerization