RUN apt-get update && apt-get install -y docker.io
This commit is contained in:
@@ -9,6 +9,8 @@ RUN apt-get update && apt-get install -y curl \
|
|||||||
&& apt-get install -y nodejs \
|
&& apt-get install -y nodejs \
|
||||||
&& apt-get clean
|
&& apt-get clean
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y docker.io
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Копируем всё содержимое проекта
|
# Копируем всё содержимое проекта
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
# 🛠 Reset and Cleanup Infrastructure of Jambotron
|
||||||
|
|
||||||
|
Этот протокол описывает процесс экстренного восстановления системы **Jambotron** при критическом заполнении диска и аномальной нагрузке на CPU, вызванной штормом контейнеров.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Фаза Остановки (Purge)
|
||||||
|
|
||||||
|
Когда система «захлебывается», необходимо прервать циклы бесконечных перезагрузок, которые блокируют ресурсы процессора.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Остановить процессы, пожирающие ресурсы
|
||||||
|
docker stop jambotron-staging jambotron-app
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Фаза Глубокой Очистки (Space Recovery)
|
||||||
|
|
||||||
|
Освобождение диска от «темной материи» — кэша сборок и неиспользуемых слоев.
|
||||||
|
|
||||||
|
| Тип данных | Команда очистки | Эффект |
|
||||||
|
|--------------|------------------------------------|----------------------------------------------------|
|
||||||
|
| Build Cache | `docker builder prune -a -f` | Удаление промежуточных слоев (~44 ГБ) |
|
||||||
|
| Images | `docker image prune -a -f` | Удаление неиспользуемых и старых образов |
|
||||||
|
| Containers | `docker rm jambotron-staging test-app1 whoami` | Удаление лишних или битых контейнеров |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Фаза Оживления (Resurrection)
|
||||||
|
|
||||||
|
Последовательный запуск компонентов системы. Начинаем с фундамента (баз данных).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Шаг 1: Запуск баз данных и хранилища кода
|
||||||
|
docker start jambo-postgres jambo-mongo gitea-db-1 gitea
|
||||||
|
|
||||||
|
# Шаг 2: Запуск сетевого шлюза и мониторинга
|
||||||
|
docker start caddy jambo-loki prometheus grafana portainer
|
||||||
|
|
||||||
|
# Шаг 3: Запуск основного приложения (Production)
|
||||||
|
docker start jambotron-app
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Контроль Инженерной Системы
|
||||||
|
|
||||||
|
После ресета необходимо убедиться, что параметры системы вернулись в норму:
|
||||||
|
|
||||||
|
- `df -h` — Проверка свободного места на диске
|
||||||
|
- `docker system df` — Проверка очистки Build Cache
|
||||||
|
- `docker ps` — Проверка, что все критические контейнеры в статусе **Up**
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Предотвращение Деградации
|
||||||
|
|
||||||
|
Чтобы система оставалась стабильной, придерживайся правил в CI/CD:
|
||||||
|
|
||||||
|
- **Network Logic:** всегда используй имя контейнера базы (`jambo-mongo`), а не `localhost`
|
||||||
|
- **Clean Build:** периодически очищай образы, чтобы старые версии не накапливались
|
||||||
|
- **Мониторинг:** следи за ресурсами и состоянием контейнеров
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Итог
|
||||||
|
|
||||||
|
- **Статус системы:** Очищена
|
||||||
|
- **Направление:** Задано
|
||||||
|
- **Цель:** Созидание
|
||||||
Reference in New Issue
Block a user