← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися виносити конфігураційні файли у окремі томи щоб спростити оновлення без перезбирання образу. Крок 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. Міні звіт. Завдання: наведи приклади сервісів де такий підхід особливо корисний.