← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: відпрацювати шаблон коли основний сервіс пише логи у файл а окремий sidecar відправляє їх у централізовану систему. Крок 1. Створити контейнер застосунку який пише логи у файл. Пояснення: наприклад web сервіс який пише у /var/log/app.log. Крок 2. Оголосити named volume для каталогу логів. Пояснення: том буде спільним між основним контейнером і sidecar. Крок 3. Запустити основний контейнер з примонтованим томом. Команда: docker run -d --name app82 -v logs82:/var/log app-image Крок 4. Підготувати sidecar образ з log shipper утилітою. Пояснення: це може бути простий скрипт який відправляє логи curl запитом. Крок 5. Запустити sidecar контейнер з тим самим томом. Команда: docker run -d --name logs82-shipper -v logs82:/var/log/target shipper-image Пояснення: sidecar буде читати файл і надсилати його в інше місце. Крок 6. Перевірити що логи справді потрапляють на цільовий сервер або у файл хоста. Пояснення: це імітує доставку в ELK або іншу систему логування. Крок 7. Зупинити основний контейнер і подивитися поведінку sidecar. Пояснення: він має коректно поводитися коли джерело логів тимчасово відсутнє. Крок 8. Перезапустити основний сервіс і переконатися що логування відновилося. Крок 9. Сформулювати правила використання sidecar шаблону у проєкті. Пояснення: які сервіси потребують окремого логування а де достатньо stdout. Крок 10. Міні звіт. Завдання: опиши плюси і мінуси sidecar підходу у порівнянні з log agent на хості.