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

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

Docker Лабораторна 56: One-shot jobs

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

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

Тема: Контейнери як cron завдання

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

Мета: навчитися запускати короткоживучі завдання через Docker замість класичного cron.



Крок 1. Створити скрипт backup.sh який виконує просту дію.

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



Крок 2. Написати Dockerfile який копіює цей скрипт і запускає його.

Пояснення: entrypoint має виконувати backup.sh і завершувати контейнер.



Крок 3. Зібрати образ.

Команда: docker build -t lab56-backup .



Крок 4. Ручно запустити контейнер і перевірити результат.

Команда: docker run --rm -v /data:/data lab56-backup

Пояснення: переконайся що архів створився у потрібному місці.



Крок 5. Налаштувати cron на хості який запускає цей контейнер.

Пояснення: запис виду 0 3 * * * docker run ... у crontab root.



Крок 6. Додати логування виводу в окремий файл.

Пояснення: cron рядок може перенаправляти stdout stderr у лог.



Крок 7. Перевірити роботу cron запису вручну через команду run-parts або через тимчасову зміну часу.

Пояснення: переконайся що завдання дійсно стартує і завершується.



Крок 8. Продумати як передавати версію образу у cron.

Пояснення: використовуй незмінні теги або digest.



Крок 9. Оцінити плюси підходу one-shot containers порівняно з локальними скриптами.

Пояснення: однакове середовище на будь якому хості і легша ізоляція.



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

Завдання: наведи 3 типи завдань які зручно реалізовувати як одноразові Docker контейнери.