Итоговый проект: упаковка реального приложения в Docker
Пришло время собрать всё воедино. Возьмём небольшое веб-приложение, напишем для него Dockerfile, запустим его с портом и переменной окружения и подключим базу данных с помощью Docker Compose — именно такой рабочий процесс вы будете повторять снова и снова в реальной работе. Каждое решение здесь опир
Это как приготовить полноценный обед, освоив каждый рецепт по отдельности: теперь вы объединяете ингредиенты — приложение, базу данных, сеть — в одно работающее блюдо.
- compose.yaml
- Один файл, который описывает все сервисы приложения (web, db), сеть между ними и volumes. Одна команда, `docker compose up`, поднимает их все вместе.
- имя сервиса
- Внутри Compose сервис обращается к другому по его имени (например, db), а внутренний DNS разрешает его в правильный адрес. Между сервисами localhost не используется.
- named volume
- Хранилище под управлением Docker, подключённое к db, благодаря чему данные сохраняются даже при удалении и повторном создании контейнера. Без него каждый restart теряет базу данных.