mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2024-12-27 07:05:41 +03:00
STAM
511a8a115a
update requirements.txt github actions runs-on: ubuntu-24.04 make pip fix - failsafe - systemwide zabbix 7 + zabbix fixes cleanup ci wip: fixes, nginx update, support update wip: bookworm 12 base updates wip: requirements.txt cleanup zabbix USER fix WIP: debian 12 develop improvements
75 lines
7.4 KiB
Markdown
75 lines
7.4 KiB
Markdown
# Документ поддержки концепции образов Docker для проекта
|
||
|
||
`timestamp: 2024/08/12`
|
||
|
||
| Debian | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | sid |
|
||
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
|
||
| **codename** | squeeze | wheezy | jessie | stretch | buster | **bullseye** | **bookworm** | trixie | sid |
|
||
| **status** | deprecated | deprecated | deprecated | deprecated | deprecated | **LTS** | **Current** | testing | unstable |
|
||
|
||
## Введение
|
||
|
||
Репозиторий `epicmorg/docker` содержит коллекцию `образов Docker`, организованных по версиям `Debian` и используемых для создания как базовых, так и конечных образов продуктов. Основная цель данной концепции — `обеспечить упорядоченность и актуальность образов в зависимости от их использования и статуса`. В этом документе описан текущий подход к организации образов и планируемые изменения для улучшения управления версиями и поддержки.
|
||
|
||
### Организация образов
|
||
|
||
##### Базовые образы
|
||
|
||
В директории `linux/ecosystem/epicmorg/debian` расположены образы `Docker`, основанные на различных версиях Debian (с `6` по `12`). Все базовые образы могут быть классифицированы на следующие категории:
|
||
|
||
1. **Образ `slim`**:
|
||
- Наследуется от официальных образов Debian (версии 6-12).
|
||
- Содержит минимальный набор правок: добавление папок, корневых сертификатов и настройка APT.
|
||
|
||
2. **Образ `main`**:
|
||
- Наследуется от образа `slim`.
|
||
- Включает базовый набор программного обеспечения (например, `mc`, `wget`, `htop`).
|
||
- Предназначен как основной образ для создания более сложных финальных образов, таких как Nginx.
|
||
|
||
3. **Образ `develop`**:
|
||
- Наследуется от образа `main`.
|
||
- Включает инструменты для сборки и разработки (например, `ninja`, `make`, `cmake`).
|
||
|
||
4. **Образы `nodejs`**:
|
||
- Включают версии Node.js (с 0.4 до последней).
|
||
- Наследуются от образа `main`.
|
||
- Содержат Node.js, npm, npmx, yarn и заголовочные файлы, установленные из tar-архивов.
|
||
|
||
5. **Образы `jdk`**:
|
||
- Включают версии JDK (с 6 по 21).
|
||
- Имеют два тега:
|
||
- Основной тег: наследуется от `main`.
|
||
- Девелоперский тег: наследуется от `develop`.
|
||
|
||
##### Конечные образы
|
||
|
||
В директории `linux/ecosystem` находятся образы для конечных продуктов (например, `apache2`, `nginx`, `jira`). Эти образы обычно наследуются от соответствующих базовых образов.
|
||
|
||
#### Изменение подхода к разработке
|
||
|
||
Для улучшения управления образами и обеспечения актуальности предлагается следующий подход:
|
||
|
||
1. **Поддержка базовых образов**:
|
||
- Все существующие базовые образы (`slim`, `main`, `develop`, `nodejs`, `jdk`) сохранятся без изменений для каждой версии Debian.
|
||
- Базовые образы будут пересобираться периодически, чтобы учесть обновления и бекпорты.
|
||
|
||
2. **Введение концепции `upstream` и `deprecated`**:
|
||
- **`Upstream`**: Актуальные конечные образы будут наследоваться от базовых образов для последней стабильной версии Debian. В данный момент это Debian 12. При выходе новой стабильной версии Debian, конечные образы будут переведены на новую версию.
|
||
- **`Deprecated`**: Для устаревших версий базовых образов будут доступны только сами базовые образы. Конечные образы не будут обновляться для устаревших версий.
|
||
|
||
3. **Управление версиями**:
|
||
- Актуальные образы будут пересобираться на основе последней `стабильной` версии `Debian`.
|
||
- В актуальные образы входят ветки `current` (`стабильная`, или же `12`) как основная, а так же `LTS` но облегченная (`11`) - буду собираться только базовые образы.
|
||
- Прошлая `LTS` ветка перестает поддерживаться, когда назначается новая.
|
||
- При выпуске новой версии `Debian` (например, `13`), все конечные образы будут обновлены и переведены на новую версию `Debian`, если она станет стабильной.
|
||
|
||
4. **Периодическое обновление образов**:
|
||
- `Все версии` базовых образов, включая `устаревшие`, будут периодически пересобираться для включения обновлений и бекпортов.
|
||
|
||
5. **Добавление новых базовых образов**:
|
||
- Начиная с текущей `версии` апстрима (`12`), в нее будут постепенно добавлены дополнительные базовые образы, такие как `PHP` и `Python` и др. Эти новые базовые образы не будут бекпортированы в предыдущие устаревшие версии. Однако при переходе апстрима на новую версию (например, `13`), новые базовые образы также будут перенесены в нее и останутся в предыдущей версии (например, `12`).
|
||
|
||
#### Заключение
|
||
|
||
Этот подход позволит лучше управлять версиями и поддерживать актуальность образов в репозитории. Переход на концепцию upstream и deprecated поможет сосредоточиться на поддержке актуальных версий продуктов и обеспечит более стабильное и предсказуемое окружение для конечных пользователей. Введение новых базовых образов дополнительно расширит функциональность и гибкость доступных Docker-образов.
|