- name: Установка Docker на Debian hosts: all become: true vars: docker_gpg_key_url: "https://download.docker.com/linux/debian/gpg" docker_gpg_key_path: "/etc/apt/keyrings/docker.asc" docker_repo_arch: "{{ ansible_architecture }}" docker_repo_codename: "{{ ansible_distribution_release }}" docker_repo_url: "https://download.docker.com/linux/debian" tasks: - name: Обновление кэша apt ansible.builtin.apt: update_cache: true cache_valid_time: 3600 - name: Установка зависимостей ansible.builtin.apt: name: - ca-certificates - curl - gnupg state: present - name: Создание директории для GPG-ключей ansible.builtin.file: path: /etc/apt/keyrings state: directory mode: '0755' - name: Скачивание GPG-ключа Docker ansible.builtin.get_url: url: "{{ docker_gpg_key_url }}" dest: "{{ docker_gpg_key_path }}" mode: '0644' force: false # обеспечивает идемпотентность - name: Добавление официального репозитория Docker ansible.builtin.apt_repository: repo: "deb [arch={{ docker_repo_arch }} signed-by={{ docker_gpg_key_path }}] {{ docker_repo_url }} {{ docker_repo_codename }} stable" state: present filename: docker mode: '0644' - name: Обновление кэша apt после добавления репозитория ansible.builtin.apt: update_cache: true - name: Установка пакетов Docker ansible.builtin.apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present install_recommends: true - name: Проверка работы Docker (опционально) ansible.builtin.command: docker --version register: docker_version changed_when: false check_mode: false - name: Отображение версии Docker ansible.builtin.debug: msg: "Установлена версия Docker: {{ docker_version.stdout }}"