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

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

Docker Лабораторна 92: Тестування Dockerfile

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

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

Тема: Організація тестів для Dockerfile

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

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



Крок 1. Визначити критичні вимоги до Docker образу.

Пояснення: наявність потрібних пакетів, користувача, портів, змінних.



Крок 2. Створити каталог tests/docker.

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



Крок 3. Написати скрипт який збирає образ з тимчасовим тегом.

Пояснення: тег можна формувати з hash коміту.



Крок 4. Додати тест який перевіряє що у образі створено non root користувача.

Команда: docker run --rm image id -u appuser

Пояснення: тест має падати якщо користувач відсутній.



Крок 5. Додати тест на наявність потрібних пакетів.

Пояснення: наприклад перевір через dpkg або apk info.



Крок 6. Додати тест який перевіряє що порти у EXPOSE відповідають документації.

Пояснення: виведи значення з docker inspect і порівняй.



Крок 7. Додати тест на коректність entrypoint.

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



Крок 8. Інтегрувати ці тести у ci cd.

Пояснення: окремий job який запускається після збірки образу.



Крок 9. Задокументувати як додавати нові тести при зміні Dockerfile.



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

Завдання: опиши мінімальний набір перевірок який ти вважаєш обовʼязковим для будь якого Dockerfile у проєкті.