timestamp: 2024/08/12
| Debian | codename | status |
|---|---|---|
sid |
unstable |
|
trixie |
testing |
|
bookworm |
Stable |
|
bullseye |
LTS \ oldstable |
|
buster |
deprecated, oldoldstable |
|
stretch |
deprecated |
|
jessie |
deprecated |
|
wheezy |
deprecated |
|
squeeze |
deprecated |
Репозиторий epicmorg/docker содержит коллекцию образов Docker, организованных по версиям Debian и используемых для создания как базовых, так и конечных образов продуктов. Основная цель данной концепции — обеспечить упорядоченность и актуальность образов в зависимости от их использования и статуса. В этом документе описан текущий подход к организации образов и планируемые изменения для улучшения управления версиями и поддержки.
В директории linux/ecosystem/epicmorg/debian расположены образы Docker, основанные на различных версиях Debian (с 6 по 12). Все базовые образы могут быть классифицированы на следующие категории:
-
Образ
slim:- Наследуется от официальных образов Debian (версии 6-12).
- Содержит минимальный набор правок: добавление папок, корневых сертификатов и настройка APT.
-
Образ
main:- Наследуется от образа
slim. - Включает базовый набор программного обеспечения (например,
mc,wget,htop). - Предназначен как основной образ для создания более сложных финальных образов, таких как Nginx.
- Наследуется от образа
-
Образ
develop:- Наследуется от образа
main. - Включает инструменты для сборки и разработки (например,
ninja,make,cmake).
- Наследуется от образа
-
Образы
nodejs:- Включают версии Node.js (с 0.4 до последней).
- Наследуются от образа
main. - Содержат Node.js, npm, npmx, yarn и заголовочные файлы, установленные из tar-архивов.
-
Образы
jdk:- Включают версии JDK (с 6 по 21).
- Имеют два тега:
- Основной тег: наследуется от
main. - Девелоперский тег: наследуется от
develop.
- Основной тег: наследуется от
В директории linux/ecosystem находятся образы для конечных продуктов (например, apache2, nginx, jira). Эти образы обычно наследуются от соответствующих базовых образов.
Для улучшения управления образами и обеспечения актуальности предлагается следующий подход:
-
Поддержка базовых образов:
- Все существующие базовые образы (
slim,main,develop,nodejs,jdk) сохранятся без изменений для каждой версии Debian. - Базовые образы будут пересобираться периодически, чтобы учесть обновления и бекпорты.
- Все существующие базовые образы (
-
Введение концепции
upstreamиdeprecated:Upstream: Актуальные конечные образы будут наследоваться от базовых образов для последней стабильной версии Debian. В данный момент это Debian 12. При выходе новой стабильной версии Debian, конечные образы будут переведены на новую версию.Deprecated: Для устаревших версий базовых образов будут доступны только сами базовые образы. Конечные образы не будут обновляться для устаревших версий.
-
Управление версиями:
- Актуальные образы будут пересобираться на основе последней
стабильнойверсииDebian. - В актуальные образы входят ветки
current(стабильная, или же12) как основная, а так жеLTSно облегченная (11) - буду собираться только базовые образы. - Прошлая
LTSветка перестает поддерживаться, когда назначается новая. - При выпуске новой версии
Debian(например,13), все конечные образы будут обновлены и переведены на новую версиюDebian, если она станет стабильной.
- Актуальные образы будут пересобираться на основе последней
-
Периодическое обновление образов:
Все версиибазовых образов, включаяустаревшие, будут периодически пересобираться для включения обновлений и бекпортов.
-
Добавление новых базовых образов:
- Начиная с текущей
версииапстрима (12), в нее будут постепенно добавлены дополнительные базовые образы, такие какPHPиPythonи др. Эти новые базовые образы не будут бекпортированы в предыдущие устаревшие версии. Однако при переходе апстрима на новую версию (например,13), новые базовые образы также будут перенесены в нее и останутся в предыдущей версии (например,12).
- Начиная с текущей
Этот подход позволит лучше управлять версиями и поддерживать актуальность образов в репозитории. Переход на концепцию upstream и deprecated поможет сосредоточиться на поддержке актуальных версий продуктов и обеспечит более стабильное и предсказуемое окружение для конечных пользователей. Введение новых базовых образов дополнительно расширит функциональность и гибкость доступных Docker-образов.