Gymterview
junior

Какие основные понятия существуют в Docker?

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

  • Образ (Image) — неизменяемый шаблон, содержащий файловую систему и метаданные для создания контейнера. Образ состоит из набора слоёв, каждый из которых представляет собой результат выполнения одной инструкции Dockerfile. Образы хранятся в реестрах и могут быть версионированы с помощью тегов (например, openjdk:17-slim).

  • Контейнер (Container) — запущенный экземпляр образа. Контейнер добавляет поверх слоёв образа тонкий записываемый слой (writable layer), в котором хранятся все изменения, сделанные во время работы. Контейнер можно запустить, остановить, удалить, а также подключиться к нему.

  • Реестр (Registry) — хранилище образов Docker. Реестр может быть публичным или приватным. Примеры: Docker Hub, GitHub Container Registry, Amazon ECR, Google Container Registry, GitLab Container Registry.

  • Docker Hub — самый популярный публичный реестр Docker-образов. Содержит официальные образы (OpenJDK, PostgreSQL, Nginx и др.) и пользовательские образы. Бесплатный аккаунт позволяет хранить один приватный репозиторий.

  • Тег (Tag) — метка версии образа. Например, eclipse-temurin:17-jre-alpine — образ Eclipse Temurin JRE 17 на базе Alpine Linux. Тег latest используется по умолчанию, если тег не указан явно.

  • Том (Volume) — механизм для сохранения данных, созданных контейнером, вне его жизненного цикла. Данные в томах не удаляются при удалении контейнера.

На собеседовании: перечислите минимум четыре понятия: образ, контейнер, реестр, том. Покажите связь между ними: из образа создаётся контейнер, образы хранятся в реестре, данные контейнера сохраняются в томах.