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

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

Docker Лабораторна 89: Конфіги як окремі томи

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

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

Тема: Гаряча заміна конфігів через конфіг томи

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

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



Крок 1. Підготувати застосунок який читає конфіг з файлу.

Пояснення: наприклад web сервіс з yaml або json конфігом.



Крок 2. Винести конфіг файл у окремий каталог на хості.

Команда: mkdir -p ~/conf89; cp config.yml ~/conf89/



Крок 3. Запустити контейнер з bind mount на цей конфіг.

Команда: docker run -d --name app89 -v ~/conf89/config.yml:/app/config.yml app-image



Крок 4. Переконатися що застосунок використовує цей файл.

Пояснення: змінити параметр і перезапустити контейнер.



Крок 5. Створити named volume для конфігів.

Команда: docker volume create conf89-vol



Крок 6. Скопіювати конфіг у цей том через тимчасовий контейнер.

Команда: docker run --rm -v conf89-vol:/conf -v ~/conf89:/src busybox cp /src/config.yml /conf/config.yml



Крок 7. Перезапустити застосунок вже з конфіг томом.

Команда: docker run -d --name app89b -v conf89-vol:/app/conf app-image



Крок 8. Перевірити як оновлюється конфіг у томі без зміни образу.

Пояснення: змінити файл через тимчасовий контейнер і зробити reload сервісу.



Крок 9. Описати плюси відокремлення конфігів від коду.

Пояснення: різні конфіги для середовищ, легший rollback.



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

Завдання: наведи приклади сервісів де такий підхід особливо корисний.