Ответ
Docker — это открытая платформа для разработки, доставки и запуска приложений в изолированных средах, называемых контейнерами. Контейнеризация позволяет упаковать приложение со всеми его зависимостями в один переносимый образ, который будет работать одинаково в любом окружении.
Ключевые концепции Docker:
-
Image (Образ) Это неизменяемый (immutable) шаблон, содержащий все необходимое для запуска приложения: код, среду выполнения, библиотеки, переменные окружения и конфигурационные файлы. Образы строятся на основе инструкций из
Dockerfile. -
Container (Контейнер) Это запущенный экземпляр образа. Контейнер представляет собой изолированный процесс в хост-системе, имеющий собственную файловую систему, сеть и пространство процессов. Можно запускать, останавливать, перемещать и удалять контейнеры.
-
Dockerfile Текстовый файл с набором инструкций для автоматической сборки образа Docker. Каждая инструкция создает новый слой в образе.
-
Registry (Реестр) Хранилище для образов Docker. Самый известный публичный реестр — Docker Hub. Компании часто используют приватные реестры для хранения своих образов.
-
Volume (Том) Механизм для сохранения данных, генерируемых и используемых контейнерами. Данные в томах хранятся на хост-машине и не удаляются вместе с контейнером, что обеспечивает их персистентность.
Основные команды:
# Собрать образ из Dockerfile в текущей директории
docker build -t my-app:1.0 .
# Запустить контейнер из образа в фоновом режиме
docker run -d -p 8080:80 --name my-running-app my-app:1.0
# Посмотреть список запущенных контейнеров
docker ps
# Остановить контейнер
docker stop my-running-app