← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: зрозуміти чим відрізняється використання контейнеризованої бази у dev і prod. Крок 1. У dev запустити базу у контейнері з томом. Команда: docker run -d --name db59 -e POSTGRES_PASSWORD=devpass -v db59-data:/var/lib/postgresql/data postgres Крок 2. Ініціалізувати тестову схему. Пояснення: створити таблиці і залити тестові дані. Крок 3. Перевірити що дані зберігаються у томі після перезапуску контейнера. Пояснення: зупини і запусти контейнер знову і перевір дані. Крок 4. Змоделювати прод середовище де база живе на окремому кластері. Пояснення: замість контейнера використовуй змінні DB_HOST DB_PORT. Крок 5. Налаштувати застосунок щоб він міг працювати з обома варіантами. Пояснення: конфіг має переключатися через env перемикач. Крок 6. Вказати у документації що контейнеризована база дозволена тільки для dev. Пояснення: так уникнеш випадкового запуску прод бази у контейнері на випадковому хості. Крок 7. Продумати як робити бекапи у dev стенді. Пояснення: використати docker exec з pg_dump або аналогічні інструменти. Крок 8. Порівняти ризики втрати даних у dev контейнері і на прод кластері. Пояснення: різні вимоги до відмовостійкості і відтворення. Крок 9. Сформулювати правила використання контейнерів для stateful сервісів. Пояснення: де можна їх використовувати а де краще окремий кластер. Крок 10. Міні звіт. Завдання: опиши конкретну схему підключення твого застосунку до dev і prod баз з урахуванням Docker.