Разделите практический опыт по уровням: сборка и отладка контейнеров, запуск окружений, работа с deployment и диагностика кластера. Назовите то, что делали лично, а не только видели.
Dockerfile описывает сборку образа: базу, файлы, команды и параметры запуска. Compose описывает совместный запуск сервисов, их сети, volumes, переменные и связи.
Java-приложение обычно собирают в JAR, помещают в образ с подходящим runtime и задают команду запуска. Сборка может идти в CI или отдельном builder-этапе Dockerfile.
Образ не станет размером 2 KB: архив останется в нижнем COPY-слое, а распакованные данные добавят ещё один слой. Точный размер без содержимого архива неизвестен.
После сборки образа обычно идут публикация в registry, проверки и развёртывание выбранного окружения. Но фактический порядок нужно описывать по pipeline проекта.
Multi-stage build отделяет среду сборки от runtime-образа: компилятор и исходники остаются на builder-стадии, а в финальную копируются только нужные артефакты.
Docker помогает собирать и запускать контейнеры, а Kubernetes управляет контейнеризованными приложениями на кластере: размещением, репликами, сетью и восстановлением.