`FROM fedora:latest
`RUN yum -y install stress && yum clean all`
`ENTRYPOINT ["stress"]`
Этот Dockerfile очень короткий, но полезный для тестов — давай разберём построчно 👇
---
### 🧩 1️⃣ `FROM fedora:latest`
- Базовый образ — **Fedora (последняя версия)**.
- Fedora — RPM-базированная Linux-система, использующая `dnf/yum` для установки пакетов.
- Все последующие команды будут выполняться **внутри контейнера**, построенного на Fedora.
---
### ⚙️ 2️⃣ `RUN yum -y install stress && yum clean all`
- Выполняет установку утилиты **`stress`**, которая используется для нагрузки на систему (CPU, память, диск, I/O и т.д.).
- Флаги:
- `-y` — автоматически отвечает “yes” на все запросы.
- `yum clean all` — очищает кэш, чтобы **уменьшить размер образа**.
- После выполнения команда `stress` станет доступна в контейнере.
---
### 🚀 3️⃣ `ENTRYPOINT ["stress"]`
- Устанавливает **точку входа** контейнера — при запуске он **всегда будет выполнять команду `stress`**.
- Пример:
```bash
docker run fedora-stress --cpu 2 --timeout 30s
```
→ запускает стресс-тест на 2 ядра в течение 30 секунд.
---
### 🧠 Что делает этот образ
Контейнер, собранный из этого Dockerfile:
- запускает утилиту `stress`;
- может создавать нагрузку на систему (CPU, память и т.д.);
- полезен для тестов **автоскейлинга**, **мониторинга** и **алертинга** в DevOps-окружениях.
---
### 🧩 Примеры использования
**Собрать:**
```bash
docker build -t fedora-stress .
```
**Запустить CPU-нагрузку на 4 ядра на 1 минуту:**
```bash
docker run --rm fedora-stress --cpu 4 --timeout 60s
```
**Нагрузка на память (100 MB):**
```bash
docker run --rm fedora-stress --vm 1 --vm-bytes 100M --timeout 30s
```
---