← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися оновлювати конфіг сервісу у контейнері без повної зупинки. Крок 1. Підготувати nginx конфіг з простим сайтом. Пояснення: зберігай конфіг на хості у каталозі conf57. Крок 2. Запустити nginx контейнер з bind mount конфігурації. Команда: docker run -d --name nginx57 -p 8087:80 -v $(pwd)/conf57:/etc/nginx/conf.d nginx Крок 3. Перевірити що сайт працює. Команда: curl http://localhost:8087 Крок 4. Змінити конфіг або сторінку на хості. Пояснення: додай новий заголовок або текст. Крок 5. Перевірити конфігурацію всередині контейнера. Команда: docker exec nginx57 nginx -t Пояснення: переконайся що немає синтаксичних помилок. Крок 6. Надіслати сигнал reload до nginx. Команда: docker exec nginx57 nginx -s reload Пояснення: nginx перечитає конфіг без зупинки процесу. Крок 7. Паралельно виконати кілька curl запитів під час reload. Пояснення: переконайся що немає помітного простою. Крок 8. Оцінити чи всі сервіси у твоєму стеку підтримують graceful reload. Пояснення: деякі програми потребують повного перезапуску. Крок 9. Задокументувати стандартну процедуру зміни конфігів. Пояснення: включаючи перевірку синтаксису і rollback план. Крок 10. Міні звіт. Завдання: опиши як би ти організував zero downtime оновлення конфігів у prod для кількох контейнерів одночасно.