Files

Rolle docker

Installiert die Docker Engine über das offizielle Docker-Repository für Debian. Die Rolle fügt den Docker-GPG-Key hinzu, richtet eine APT-Quelle im deb822-Format ein und installiert alle benötigten Pakete (Engine, CLI, containerd, Buildx- und Compose-Plugin).

Siehe auch das Playbook playbooks/docker.yml sowie die Repo-README.

Voraussetzungen

  • Debian-Ziel-Host
  • Internetzugang zum Docker-Repository (download.docker.com)
  • Benutzer mit become-Rechten

Einbindung

Die Rolle wird typischerweise über das Playbook playbooks/docker.yml oder automatisch durch die bootstrap-Rolle (import_role) aufgerufen. Direkte Einbindung per import_role:

- hosts: all
  become: true
  user: admin
  roles:
    - role: docker
ansible-playbook -i inventory/dmc12.yml playbooks/docker.yml

Funktionsweise

tasks/main.yml inkludiert die eigentliche Installations-Logik aus tasks/install-docker.yml:

  1. apt-Cache aktualisieren cache_valid_time: 3600
  2. Voraussetzungen installieren ca-certificates, curl
  3. Keyring-Verzeichnis anlegen /etc/apt/keyrings (Mode 0755)
  4. Docker GPG-Key herunterladen nach /etc/apt/keyrings/docker.asc
  5. APT-Quelle einrichten Template sources.list.j2 nach /etc/apt/sources.list.d/docker.sources (deb822-Format)
  6. apt-Cache aktualisieren nach Repository-Hinzufügung
  7. Docker-Pakete installieren docker_packages (benachrichtigt Handler Start Docker)

Variablen

Variable Typ Default Beschreibung
docker_mirror string https://download.docker.com/linux/debian Basis-URL des Docker-APT-Repositories
os_version_codename string {{ ansible_lsb.codename }} Codename der Distribution (für Suites:)
docker_packages list siehe unten Liste der zu installierenden Docker-Pakete

Default docker_packages:

docker_packages:
  - docker-ce
  - docker-ce-cli
  - containerd.io
  - docker-buildx-plugin
  - docker-compose-plugin

os_version_codename wird standardmäßig automatisch anhand von ansible_lsb.codename ermittelt und kann bei Bedarf überschrieben werden.

Templates

Template Ziel
sources.list.j2 /etc/apt/sources.list.d/docker.sources (deb822)

Handler

Handler Auslöser
Start Docker Installation/Aktualisierung der Docker-Pakete
Restart Docker (reserviert) systemd-Neustart
Reload Docker (reserviert) systemd-Reload

Tags

Die Rolle vergibt keine eigenen Tags. Bei Bedarf über das Playbook steuerbar.

Abhängigkeiten

  • Keine weiteren Rollen.
  • Collections: ansible.builtin (Bordmittel).

Hinweise

  • Die APT-Quelle liegt im deb822-Format vor, was ab Debian 12+ empfohlen wird. Das签ierte-Keyfile liegt unter /etc/apt/keyrings/docker.asc.
  • Der Handler Start Docker aktiviert und startet den Service, ohne bereits laufende Container zu beeinflussen.
  • Wird die Rolle innerhalb von bootstrap aufgerufen, übernimmt das Top-Level Playbook das become/user-Handling.