← До списку лабораторних по Docker
Повний опис / сценарій лабораторної:
Мета: навчитися обмежувати кількість процесів у контейнері щоб уникати fork bomb сценаріїв. Крок 1. Запустити контейнер без обмеження pids. Команда: docker run -it --rm --name pids-free ubuntu bash Пояснення: всередині контейнера зараз дозволено створювати багато процесів. Крок 2. Встановити утиліти для тесту. Команда: apt update && apt install -y procps Пояснення: знадобляться ps і інші інструменти. Крок 3. Запустити нескладний скрипт який породжує багато процесів. Пояснення: наприклад цикл який стартує sleep у підпроцесах. Крок 4. Подивитися скільки процесів працює. Команда: ps aux | wc -l Пояснення: зафіксуй число у конспекті. Крок 5. Вийти з контейнера. Крок 6. Запустити новий контейнер з обмеженням pids. Команда: docker run -it --rm --pids-limit=50 --name pids-limited ubuntu bash Пояснення: контейнер не зможе створити більше 50 процесів. Крок 7. Повторити експеримент зі скриптом. Пояснення: у певний момент ядро почне відхиляти спроби створення нових процесів. Крок 8. Перевірити лог ядра або syslog. Пояснення: там можуть бути записи про досягнення ліміту pids. Крок 9. Оцінити який pids-limit підходить для твого типового сервісу. Пояснення: веб сервери і воркер пули мають передбачувану кількість процесів. Крок 10. Міні звіт. Завдання: опиши ризики якщо pids-limit занадто малий або занадто великий для прод сервісів.