Docker для разработчика: разборы запуска и хранения данных
Если хотите пройти путь от первого контейнера до передачи приложения с базой данных, посмотрите как выбрать курс Docker и Docker Compose с практикой: локальные лабораторные, проверка заданий и требования к подготовке.
Эта подборка полезна при переносе приложения из локального окружения в контейнер. Разбирайте границы по отдельности: сборка образа, конфигурация запуска, сеть и данные. Короткий воспроизводимый тест обычно помогает быстрее, чем одновременная смена всех настроек.
Как пользоваться разборами
Выберите вопрос, совпадающий с вашей задачей. Внутри есть учебный пример, способ проверки и границы применимости. Воспроизведите пример на небольших безопасных данных, затем измените одно условие и сравните результат. Если проблема относится к нескольким этапам, проверяйте их по очереди.
Разборы 1–5
-
Docker каждый раз заново ставит зависимости: как проверить порядок COPY. Изменили одну строку приложения, а сборка снова скачивает все зависимости.
-
Переменная окружения в Docker Compose не обновилась: где искать значение. Вы поправили .env, но приложение по-прежнему использует старый адрес.
-
Permission denied у Docker volume: почему chmod 777 — плохой первый шаг. Приложение работает от непривилегированного пользователя и не может записать файл в подключённый каталог.
-
Секрет в Docker build-arg: почему удаления файла в следующем слое мало. Во время сборки нужен доступ к приватному репозиторию, и токен передают через ARG или копируют файлом.
-
Exec format error в Docker: как проверить архитектуру образа и файла. Образ собирается на ноутбуке, но не запускается на сервере с exec format error.
Разборы 6–10
-
Контейнер завершился с кодом 137: как проверить OOM, а не угадать. Контейнер внезапно остановился с кодом 137.
-
Один Docker tag, разные версии: как проверить фактический образ релиза. На ноутбуке и сервере указан одинаковый tag образа, но приложение ведёт себя по-разному.
-
HTTPS работает на хосте, но падает в Docker с x509: что проверить. Запрос к HTTPS API успешно проходит на компьютере, а из контейнера заканчивается unknown authority.
-
Тестовый Docker Compose затронул production: как разделить проекты. Две копии Compose запускаются на одном Docker-хосте и неожиданно используют общие ресурсы.
-
Docker занял диск: как различить образы, build cache и данные. На сервере закончилось место, и первая идея — удалить всё неиспользуемое Docker.
Когда переходить к системной программе
Если отдельные статьи показывают повторяющиеся пробелы, сравните программу соответствующего платного курса Latorn со своей подготовкой и задачами. Этот навигатор подготовлен самой платформой. Статьи помогают разобраться с частными вопросами; наличие примера не означает обещания готового промышленного проекта или профессионального результата.
Продолжить на практике
- Docker и Docker Compose: контейнеризация приложений ↗
Упакуйте приложение в Docker и запустите его с PostgreSQL через Compose. Образы, сети, тома, диагностика поломок, обновление версий и восстановление данных — с практикой и итоговым проектом.
