На странице собраны вопросы по Docker — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: docker, devops, infrastructure.
Dockerfile описывает сборку образа, Docker запускает контейнеры, а Compose декларативно описывает совместный запуск сервисов, сетей и volumes. Это связанные инструменты разных уровней.
В Compose полезны restart policy, healthcheck, корректный stop_grace_period, лимиты ресурсов и постоянные volumes. Готовность зависимости нужно связывать с реальной проверкой здоровья, а не только стартом контейнера.
Ответьте на две части отдельно: практические задачи с Docker и языки, на которых поставляли результат. Для каждого назовите конкретный уровень ответственности.
Расскажите, что именно делали с Docker: собирали образы, запускали сервисы, работали с Compose, сетью, volumes или production-релизами. Один запуск готового контейнера и сопровождение образов — разные уровни опыта.
Способ передачи зависит от среды заказчика: Docker-образ, Python-пакет с окружением, системный пакет или собранный исполняемый файл. Важно сделать запуск воспроизводимым и документированным.
Docker-образ содержит неизменяемые слои файловой системы и конфигурацию запуска. Манифест связывает конфигурацию со слоями; тег — изменяемое имя ссылки на образ.
Docker-контейнеры меняют упаковку и запуск, но не превращают монолит в микросервисы. Нужны осмысленные границы ответственности, контрактов, данных и независимого выпуска.
Именованный Docker volume создаётся командой docker volume create. Чтобы данные действительно сохранялись, volume нужно подключить к каталогу данных контейнера.
CPU-квота cgroup ограничивает время выполнения, а не обязательно видимое число процессоров. Поэтому os.cpu_count() может видеть 64 CPU, хотя контейнеру разрешено лишь 2 CPU-времени.
Namespaces изолируют представление процессов, сети и файловых систем; cgroups учитывают и ограничивают ресурсы. CPU-лимит ограничивает доступное процессорное время, а память нельзя просто отложить.
Передавайте конфигурацию при запуске: через environment variables, смонтированный конфигурационный файл или secret manager. Образ должен оставаться одинаковым для разных окружений и не содержать пароль БД.