← До фільтрів та технологій

← До списку лабораторних по Docker

Docker Лабораторна 99: External конфіг з перезавантаженням

Технологія: Docker

Номер лабораторної: 99 · Рівень: middle

Тема: Docker і оновлення конфігурації без перезбирання образу

Повний опис / сценарій лабораторної:

Мета: навчитися змінювати конфіг застосунку через зовнішні файли або змінні без перезбирання Docker образу.



Крок 1. Перевірити чи застосунок вміє читати конфіг з env змінних або файлів.

Пояснення: якщо ні, розглянути невелику модифікацію коду.



Крок 2. Винести усі змінні які часто змінюються у env або конфіг файл.

Пояснення: наприклад urls сервісів, пороги, прапорці фіч.



Крок 3. Оновити Dockerfile так щоб він не містив цих значень у RUN або ENV.

Пояснення: натомість використовуй значення які приходять при запуску контейнера.



Крок 4. Запустити контейнер з окремим env файлом.

Команда: docker run --env-file config99.env app-image



Крок 5. Перевірити що застосунок використовує значення з env.

Пояснення: виведи конфіг у логах при старті.



Крок 6. Змінити env файл і перезапустити контейнер.

Пояснення: переконайся що поведінка змінилася без rebuild.



Крок 7. Для конфіг файлів використати том або bind mount.

Пояснення: це дозволяє міняти файл без зміни образу.



Крок 8. Зʼясувати чи застосунок підтримує reload конфіг без рестарту.

Пояснення: якщо так, спробуй оновити конфіг на льоту.



Крок 9. Задокументувати які параметри можна міняти таким чином у прод.

Пояснення: не всі налаштування безпечно міняти динамічно.



Крок 10. Міні звіт.

Завдання: опиши стратегію розділення конфігурації на build time і runtime параметри для твоїх сервісів.