3.6 KiB
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.ymlsowie 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:
- apt-Cache aktualisieren –
cache_valid_time: 3600 - Voraussetzungen installieren –
ca-certificates,curl - Keyring-Verzeichnis anlegen –
/etc/apt/keyrings(Mode0755) - Docker GPG-Key herunterladen – nach
/etc/apt/keyrings/docker.asc - APT-Quelle einrichten – Template
sources.list.j2nach/etc/apt/sources.list.d/docker.sources(deb822-Format) - apt-Cache aktualisieren – nach Repository-Hinzufügung
- Docker-Pakete installieren –
docker_packages(benachrichtigt HandlerStart 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 Dockeraktiviert und startet den Service, ohne bereits laufende Container zu beeinflussen. - Wird die Rolle innerhalb von
bootstrapaufgerufen, übernimmt das Top-Level Playbook dasbecome/user-Handling.