--- # Тестовый playbook для роли docker # Автор: Сергей Антропов # Сайт: https://devops.org.ru - name: Тестирование установки Docker hosts: all become: yes roles: - role: docker vars: docker_users: - ansible post_tasks: - name: Проверка установки Docker command: docker --version register: docker_version_check changed_when: false failed_when: false - name: Проверка установки Docker Compose shell: | if command -v docker compose &> /dev/null; then docker compose version elif command -v docker-compose &> /dev/null; then docker-compose --version else echo "Docker Compose не найден" exit 1 fi register: docker_compose_check changed_when: false failed_when: false - name: Вывод результатов проверки debug: msg: - "Docker: {{ docker_version_check.stdout }}" - "Docker Compose: {{ docker_compose_check.stdout }}" - name: Проверка статуса службы Docker systemd: name: docker register: docker_service changed_when: false - name: Вывод статуса службы debug: msg: "Docker service is {{ docker_service.status.ActiveState }}" - name: Проверка группы docker group: name: docker register: docker_group_check - name: Вывод информации о группе debug: msg: "Group docker exists with gid {{ docker_group_check.group.gid }}" - name: Запуск тестового контейнера docker_container: name: test-container image: alpine:latest command: echo "Hello from Docker" state: started - name: Проверка запущенных контейнеров command: docker ps -a register: docker_ps changed_when: false - name: Вывод списка контейнеров debug: var: docker_ps.stdout_lines - name: Удаление тестового контейнера docker_container: name: test-container state: absent - name: Проверка успешного завершения теста assert: that: - docker_version_check.rc == 0 - docker_compose_check.rc == 0 - docker_service.status.ActiveState == "active" fail_msg: "Тестирование не пройдено" success_msg: "Все тесты пройдены успешно"