# Docker образы для универсальной системы тестирования ## Обзор Эта директория содержит Docker образы для различных операционных систем и компонентов, используемых в универсальной системе тестирования Ansible ролей. ## Структура ``` dockerfiles/ ├── ansible-controller/ # Ansible контроллер с предустановленными коллекциями ├── alt-linux/ # ALT Linux с systemd ├── astra-linux/ # Astra Linux с systemd ├── redos/ # RED OS с systemd ├── Makefile # Команды для сборки образов └── README.md # Документация ``` ## Доступные образы ### ansible-controller - **Базовый образ:** `quay.io/ansible/creator-ee:latest` - **Описание:** Ansible контроллер с предустановленными коллекциями - **Компоненты:** - Ansible с коллекциями (community.docker, community.general, ansible.posix) - Docker CLI - kubectl - Helm - Kind - Istio CLI - Дополнительные роли (geerlingguy.docker, geerlingguy.kubernetes) ### alt-linux - **Базовый образ:** `altlinux/p9` - **Описание:** ALT Linux с systemd - **Компоненты:** - systemd - Docker - Docker Compose - Python3 - Пользователь ansible ### astra-linux - **Базовый образ:** `astralinux/astra-1.7` - **Описание:** Astra Linux с systemd - **Компоненты:** - systemd - Docker - Docker Compose - Python3 - Пользователь ansible ### redos - **Базовый образ:** `redos/redos:9` - **Описание:** RED OS с systemd - **Компоненты:** - systemd - Docker - Docker Compose - Python3 - Пользователь ansible ## Использование ### Сборка всех образов ```bash make docker-build ``` ### Сборка конкретного образа ```bash make docker-build IMAGE=ansible-controller ``` ### Отправка образов в registry ```bash make docker-push ``` ### Очистка образов ```bash make docker-clean ``` ### Информация об образах ```bash make docker-info ``` ## Настройка registry По умолчанию образы собираются с тегом `localhost:5000/имя:latest`. Для изменения registry: ```bash make docker-build REGISTRY=my-registry.com make docker-push REGISTRY=my-registry.com ``` ## Использование в preset'ах После сборки образов их можно использовать в preset'ах: ```yaml # molecule/presets/my-preset.yml images: debian: "ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy" rhel: "quay.io/centos/centos:stream9-systemd" alt: "localhost:5000/alt-linux:latest" astra: "localhost:5000/astra-linux:latest" redos: "localhost:5000/redos:latest" hosts: - name: alt-server family: alt groups: [servers] - name: astra-server family: astra groups: [servers] - name: redos-server family: redos groups: [servers] ``` ## Лучшие практики ### 1. Версионирование образов ```bash make docker-build VERSION=v1.0.0 ``` ### 2. Использование registry ```bash make docker-push REGISTRY=my-registry.com VERSION=v1.0.0 ``` ### 3. Очистка старых образов ```bash make docker-clean ``` ## Troubleshooting ### Проблемы с сборкой 1. Проверьте доступность базовых образов 2. Убедитесь, что Docker запущен 3. Проверьте права доступа к Docker ### Проблемы с registry 1. Убедитесь, что registry доступен 2. Проверьте аутентификацию 3. Проверьте права на push ### Проблемы с образами 1. Проверьте размер образов 2. Убедитесь, что все зависимости установлены 3. Проверьте совместимость с базовыми образами ## Заключение Эти Docker образы предоставляют готовую среду для тестирования Ansible ролей на различных операционных системах. Используйте их в своих preset'ах для создания универсальной системы тестирования.