--- - name: Installiere Docker Engine, Compose V2 und Buildx hosts: all become: true vars: docker_dir: "/opt/docker" docker_group: "docker" tasks: - name: Installiere notwendige Voraussetzungen ansible.builtin.apt: name: - ca-certificates - curl - gnupg - lsb-release state: present update_cache: true - name: Füge Docker GPG Schlüssel hinzu ansible.builtin.apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present register: add_key_result failed_when: add_key_result.failed and "KEYEXPIRED" not in add_key_result.msg - name: Füge Docker Repository hinzu ansible.builtin.apt_repository: repo: "deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable" state: present filename: docker - name: Installiere Docker Engine, CLI und Containerd ansible.builtin.apt: name: - docker-ce - docker-ce-cli - containerd.io - docker-buildx-plugin - docker-compose-plugin state: present update_cache: true - name: Stelle sicher, dass die Docker Gruppe existiert ansible.builtin.group: name: "{{ docker_group }}" state: present - name: Erstelle Docker Verzeichnis {{ docker_dir }} ansible.builtin.file: path: "{{ docker_dir }}" state: directory mode: '0755' owner: root group: "{{ docker_group }}" - name: Aktiviere und starte Docker Dienst ansible.builtin.systemd: name: docker enabled: true state: started - name: Verifiziere Installation (Docker Version) ansible.builtin.command: docker --version register: docker_version changed_when: false - name: Verifiziere Installation (Compose Version) ansible.builtin.command: docker compose version register: compose_version changed_when: false - name: Zeige Installationsstatus ansible.builtin.debug: msg: - "Docker: {{ docker_version.stdout }}" - "Compose: {{ compose_version.stdout }}" - "Verzeichnis {{ docker_dir }} wurde erstellt."