- Исправлена установка Docker для Rocky Linux (заменен универсальный скрипт на ручную установку) - Исправлена установка Docker для AlmaLinux (заменен универсальный скрипт на ручную установку) - Исправлена установка Docker для ALT Linux (убраны несуществующие пакеты docker/docker-compose) - Обновлен Makefile с улучшенной справкой и командами - Все 7 Docker образов успешно собраны: * inecs/alt-linux:latest (804MB) * inecs/astra-linux:latest (1.06GB) * inecs/redos:latest (1.26GB) * inecs/centos:latest (1.07GB) * inecs/rhel:latest (1.01GB) * inecs/rocky:latest (1.32GB) * inecs/alma:latest (1.13GB) Все образы содержат: - Systemd для полноценного тестирования - Docker для DinD/DOoD сценариев - Python и pip для Ansible - Пользователя ansible с sudo правами - Все необходимые инструменты разработки Проект готов к полноценному тестированию Ansible на различных ОС!
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
Использование
Сборка всех образов
make docker-build
Сборка конкретного образа
make docker-build IMAGE=ansible-controller
Отправка образов в registry
make docker-push
Очистка образов
make docker-clean
Информация об образах
make docker-info
Настройка registry
По умолчанию образы собираются с тегом localhost:5000/имя:latest. Для изменения registry:
make docker-build REGISTRY=my-registry.com
make docker-push REGISTRY=my-registry.com
Использование в preset'ах
После сборки образов их можно использовать в preset'ах:
# 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. Версионирование образов
make docker-build VERSION=v1.0.0
2. Использование registry
make docker-push REGISTRY=my-registry.com VERSION=v1.0.0
3. Очистка старых образов
make docker-clean
Troubleshooting
Проблемы с сборкой
- Проверьте доступность базовых образов
- Убедитесь, что Docker запущен
- Проверьте права доступа к Docker
Проблемы с registry
- Убедитесь, что registry доступен
- Проверьте аутентификацию
- Проверьте права на push
Проблемы с образами
- Проверьте размер образов
- Убедитесь, что все зависимости установлены
- Проверьте совместимость с базовыми образами
Заключение
Эти Docker образы предоставляют готовую среду для тестирования Ansible ролей на различных операционных системах. Используйте их в своих preset'ах для создания универсальной системы тестирования.