Контейнер vs Виртуальная машина
VM эмулирует полноценное железо с отдельным ядром ОС — тяжело и медленно стартует. Контейнер использует ядро хоста, изолируя только процессы и файловую систему. Запуск контейнера — секунды, а не минуты.
Ключевые концепции
- Image — неизменяемый снимок файловой системы, собранный из Dockerfile
- Container — запущенный экземпляр image
- Dockerfile — инструкция для сборки: базовый образ, копирование файлов, команды
- Docker Compose — запуск нескольких контейнеров (app + db + redis) одной командой
- Volume — постоянное хранилище данных вне контейнера