78 lines
2.2 KiB
YAML
78 lines
2.2 KiB
YAML
---
|
|
- 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." |